Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

LINQ-To-Xml: un esempio di query expression

Dopo aver visto un piccolo esempio di come Visual Basic 2008 offra il supporto integrato a XML, grazie a LINQ, in questo precedente post, riprendiamo il breve frammento di codice e ci cimentiamo in una nuova avventura, ovvero l'accesso a quel piccolo blocco di dati rappresentato sotto forma di XML per formulare una query e selezionare solo alcuni elementi di interesse. Consideriamo il seguente elemento XML che, come detto la scorsa volta, rappresenta alcuni articoli scritti da me per VB T&T:

        Dim articoli = <Articoli>

                           <Articolo titolo="La mia prima applicazione per dispositivi mobili"/>

                           <Articolo titolo="Introduzione a Windows Workflow Foundation"/>

                           <Articolo titolo="Introduzione a Windows Communication Foundation"/>

                       </Articoli>

Ora, dato questo elemento XML, vogliamo estrarre solo gli articoli che iniziano con la parola Introduzione. Utilizziamo il seguente codice, da digitare successivamente al precedente:

        Dim articolo = From article In articoli...<Articolo> _

                       Where article.@titolo.StartsWith("Introduzione") _

                       Select article

Come potete osservare, le query expression utilizzano keyword che ricordano la sintassi SQL. In pratica, la prima riga (che inizia con From) estrae dal nodo Articoli tutti gli elementi Articolo tramite la specifica del tag ... (i tre punti sospensivi indicano "tutti" gli elementi). La clausola Where ci permette di stabilire quali elementi ci interessano (metodo StartsWith). L'utilizzo del simbolo @ ci permette di specificare l'attributo da valutare tramite l'espressione. Da ultimo, tramite l'istruzione Select recuperiamo i valori di interesse.

Con un piccolo ciclo, infine, è possibile visualizzare l'elenco degli elementi recuperati tramite query:

        For Each a In articolo

            Console.WriteLine(a.Attribute("titolo").Value)

        Next

        Console.ReadLine()

L'oggetto Attribute si rende necessario perchè noi abbiamo eseguito una query sull'attributo Titolo di ogni elemento Articolo. Se avviate l'applicazione (io ho utilizzato il template Console), vedrete che vengono mostrati solo i due articoli che iniziano per Introduzione.

Alessandro

Print | posted on lunedì 25 febbraio 2008 03:53 | Filed Under [ .NET Framework Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET