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

Disabilita cookie ShinyStat

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

Ottenere gli attributi di elementi XML con i Literals di Visual Basic 2008

LINQ-to-Xml mette a disposizione, come ormai noto, molti oggetti per leggere, creare ed interrogare documenti XML anche al fine di recuperare i dati di interesse dal loro interno, atteso che questo tipo di documento si usa anche com base dati.

Tramite gli XML Literals di Visual Basic 2008 e appositi metodi Extension, è possibile ottenere contenuti specifici del documento XML. Ad esempio, considerate il seguente snippet:

        Dim Nodi = <Nodi>

                       <Nodo Nome="Primo nodo"/>

                       <Nodo Nome="Secondo nodo"/>

                       <NodoNonValido Nome="Terzo nodo"/>

                       <Nodo Nome="Quarto nodo"/>

                   </Nodi>

L'elemento Nodi contiene al suo interno tre elementi Nodo e un elemento chiamato NodoNonValido. Ok fin qui? :-)  Ora, ipotizziamo di voler recuperare il valore dell'attributo Nome di ciascun elemento Nodo, escludendo, quindi, l'elemento chiamato NodoNonValido.

La seguente riga di codice recupera tutti gli elementi Nodo all'interno del documento XML:

        Dim childElements = Nodi.<Nodo>

La sintassi sopra mostrata elenca tutti gli elementi figli del nodo XML specificato e caratterizzati dall'identificatore racchiuso tra i simboli < >. In realtà, questi simboli altro non sono che un metodo Extension chiamato Elements. Ora, considerate il seguente frammento:

        For Each element In childElements

            Console.WriteLine(element.@<Nome>)

        Next

Viene iterata la collection di elementi XML recuperata tramite il metodo extension Elements di cui sopra e, per ciascun elemento della collection, ne viene recuperato l'attributo specificato e racchiuso ancora tra i simboli < >, anticipati dal simbolo @. Questo simbolo rappresenta una proprietà extension chiamata Attributes e, come il nome suggerisce, restituisce il valore dell'attributo XML specificato.

In sostanza, il risultato del codice sin qui mostrato sarà:

  • Primo nodo
  • Secondo nodo
  • Quarto nodo

Ovviamente questo è un piccolo esempio didattico, che spero potrete apprezzare nel momento in cui vi troverete a lavorare su documenti XML contenenti strutture di dati complesse.

Alessandro

Print | posted on domenica 16 marzo 2008 17:58 | Filed Under [ Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET