Condividi tramite


Proprietà axis descendant XML (Visual Basic)

Fornisce l'accesso agli elementi discendenti di uno dei seguenti: un oggettoXElement, un oggetto XDocument, una raccolta di oggetti XElement o raccolta di oggetti XDocument.

Sintassi

object...<descendant>

Parti

object Obbligatorio. Un oggetto XElement, un oggetto XDocument, una raccolta di oggetti XElement o una raccolta di oggetti XDocument.

...< Obbligatorio. Indica l'inizio di una proprietà asse discendente.

descendant Obbligatorio. Nome dei nodi discendenti a cui accedere, del modulo [prefix:]name.

In parte Descrizione
prefix Facoltativo. Prefisso dello spazio dei nomi XML per il nodo discendente. Deve essere uno spazio dei nomi XML globale definito tramite un'istruzione Imports.
name Obbligatorio. Nome locale del nodo discendente. Vedere Nomi di elementi e attributi XML dichiarati.

> Obbligatorio. Indica la fine di una proprietà asse discendente.

Valore restituito

Una raccolta di oggetti XElement.

Osservazioni:

È possibile usare una proprietà asse del discendente XML per accedere a nodi discendente in base al nome, da un oggetto XElement o XDocument oppure da raccolte di oggetti XElement o XDocument. Usare la proprietà XML Value per accedere al valore del primo nodo discendente nella raccolta restituita. Per altre informazioni, vedere Proprietà Value XML.

Il compilatore Visual Basic converte le proprietà dell'asse discendente in chiamate al metodo Descendants.

Spazi dei nomi XML

Il nome in una proprietà asse del discendente può usare solo prefissi degli spazi dei nomi XML dichiarati globalmente con l'istruzione Imports. Non può usare spazi dei nomi XML dichiarati localmente all'interno di valori letterali dell'elemento XML. Per altre informazioni, vedere Istruzione Imports (spazio dei nomi XML).

Esempio 1

Nell'esempio seguente viene illustrato come accedere al valore del primo nodo discendente denominato name e ai valori di tutti i nodi discendenti denominati phone dall'oggetto contacts.

Dim contacts As XElement = 
    <contacts>
        <contact>
            <name>Patrick Hines</name>
            <phone type="home">206-555-0144</phone>
            <phone type="work">425-555-0145</phone>
        </contact>
    </contacts>

Console.WriteLine("Name: " & contacts...<name>.Value)

Dim homePhone = From phone In contacts...<phone> 
                Select phone.Value

Console.WriteLine("Home Phone = {0}", homePhone(0))

Questo codice visualizza il testo seguente:

Name: Patrick Hines

Home Phone = 206-555-0144

Esempio 2

Nell'esempio seguente viene dichiarato ns come un prefisso dello spazio dei nomi XML. Il prefisso dello spazio dei nomi viene quindi usato per creare un valore letterale XML e accedere al valore primo nodo figlio con il nome completo ns:name.

Imports <xmlns:ns = "http://SomeNamespace"> 
 
Class TestClass2

    Shared Sub TestPrefix()
        Dim contacts = 
            <ns:contacts>
                <ns:contact>
                    <ns:name>Patrick Hines</ns:name>
                </ns:contact>
            </ns:contacts>

        Console.WriteLine("Name: " & contacts...<ns:name>.Value)
    End Sub

End Class

Questo codice visualizza il testo seguente:

Name: Patrick Hines

Vedi anche