Propriété d'axe descendant XML (Visual Basic)

Fournit l’accès aux descendants des objets suivants : un objet XElement , un objet XDocument , une collection d’objets XElement ou une collection d’objets XDocument .

Syntaxe

object...<descendant>

Éléments

object Obligatoire. Un objet XElement, un objet XDocument, une collection d’objets XElement ou une collection d’objets XDocument.

...< Obligatoire. Indique le début d’une propriété d’axe descendant.

descendant Obligatoire. Nom des nœuds descendants auxquels accéder, du formulaire [prefix:]name.

Élément Description
prefix facultatif. Préfixe d’espace de noms XML pour le nœud descendant. Doit être un espace de noms XML global défini à l’aide d’une instruction Imports.
name Obligatoire. Nom local du nœud descendant. Consultez Noms des éléments et attributs XML déclarés.

> Obligatoire. Indique la fin d’une propriété d’axe descendant.

Valeur renvoyée

Collection d'objets XElement.

Notes

Vous pouvez utiliser une propriété d’axe descendant XML pour accéder aux nœuds descendants par nom à partir d’un objet XElement ou XDocument, ou à partir d’une collection d’objets XElement ou XDocument . Utilisez la propriété XML Value pour accéder à la valeur du premier nœud descendant dans la collection retournée. Pour plus d’informations, consultez Propriété de valeur XML.

Le compilateur Visual Basic convertit les propriétés de l’axe descendant en appels à la méthode Descendants.

Espaces de noms XML

Le nom d’une propriété d’axe descendant peut utiliser uniquement des espaces de noms XML déclarés globalement avec l’instruction Imports. Il ne peut pas utiliser les espaces de noms XML déclarés localement dans les littéraux d’élément XML. Pour plus d’informations, consultez Imports, instruction (espace de noms XML).

Exemple 1

L’exemple suivant montre comment accéder à la valeur du premier nœud descendant nommé name et les valeurs de tous les nœuds descendants nommés phone à partir de l’objet 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))

Ce code affiche le texte suivant :

Name: Patrick Hines

Home Phone = 206-555-0144

Exemple 2

L'exemple suivant déclare ns en tant que préfixe d'espace de noms XML. Il utilise ensuite le préfixe de l’espace de noms pour créer un littéral XML et accéder à la valeur du premier nœud enfant avec le nom qualifié 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

Ce code affiche le texte suivant :

Name: Patrick Hines

Voir aussi