Partager via


Procédure : récupérer un seul élément enfant (LINQ to XML)

Mise à jour : November 2007

Cette rubrique explique comment récupérer un seul élément enfant, étant donné le nom de l'élément enfant. Lorsque vous connaissez le nom de l'élément enfant et qu'il n'y a qu'un seul élément qui possède ce nom, il peut être plus commode de récupérer un seul élément plutôt qu'une collection.

La méthode Element retourne le premier objet XElement enfant avec l'objet XName spécifié.

Si vous souhaitez récupérer un seul élément enfant en Visual Basic, une approche courante consiste à utiliser la propriété XML, puis à récupérer le premier élément à l'aide de la notation d'indexeur de tableau.

Exemple

L'exemple suivant illustre l'utilisation de la méthode Element. Cet exemple prend l'arborescence XML nommée po et recherche le premier élément nommé Comment.

L'exemple Visual Basic illustre l'utilisation de la notation d'indexeur de tableau pour récupérer un seul élément.

Cet exemple utilise le document XML suivant : Exemple de fichier XML : Commande fournisseur typique (LINQ to XML).

XElement po = XElement.Load("PurchaseOrder.xml");
XElement e = po.Element("DeliveryNotes");
Console.WriteLine(e);
Dim po As XElement = XElement.Load("PurchaseOrder.xml")
Dim e As XElement = po.<DeliveryNotes>(0)
Console.WriteLine(e)

Cet exemple produit la sortie suivante :

<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>

L'exemple suivant illustre le même code pour du XML qui est dans un espace de noms. Pour plus d'informations, consultez Utilisation des espaces de noms XML.

Cet exemple utilise le document XML suivant : Exemple de fichier XML : Commande fournisseur typique dans un espace de noms.

XElement po = XElement.Load("PurchaseOrderInNamespace.xml");
XNamespace aw = "https://www.adventure-works.com";
XElement e = po.Element(aw + "DeliveryNotes");
Console.WriteLine(e);
Imports <xmlns:aw="https://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim po As XElement = XElement.Load("PurchaseOrderInNamespace.xml")
        Dim e As XElement = po.<aw:DeliveryNotes>(0)
        Console.WriteLine(e)
    End Sub
End Module

Cet exemple produit la sortie suivante :

<aw:DeliveryNotes xmlns:aw="https://www.adventure-works.com">Please leave packages in shed by driveway.</aw:DeliveryNotes>

Voir aussi

Concepts

Axes LINQ to XML