XContainer.Descendants Méthode

Définition

Retourne une collection des éléments descendants pour ce document ou cet élément, dans l’ordre des documents.

Surcharges

Nom Description
Descendants()

Retourne une collection des éléments descendants pour ce document ou cet élément, dans l’ordre des documents.

Descendants(XName)

Retourne une collection filtrée des éléments descendants pour ce document ou cet élément, dans l’ordre du document. Seuls les éléments qui ont un XName correspondant sont inclus dans la collection.

Remarques

Cette méthode utilise l’exécution différée.

Descendants()

Source:
XContainer.cs
Source:
XContainer.cs
Source:
XContainer.cs
Source:
XContainer.cs
Source:
XContainer.cs

Retourne une collection des éléments descendants pour ce document ou cet élément, dans l’ordre des documents.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Descendants();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants();
member this.Descendants : unit -> seq<System.Xml.Linq.XElement>
Public Function Descendants () As IEnumerable(Of XElement)

Retours

IEnumerable<T> Contenant XElement les éléments descendants du XContainer.

Exemples

L’exemple suivant crée une arborescence XML, puis utilise cette méthode d’axe pour récupérer les descendants.

XElement xmlTree = new XElement("Root",
    new XAttribute("Att1", "AttributeContent"),
    new XElement("Child",
        new XText("Some text"),
        new XElement("GrandChild", "element content")
    )
);
IEnumerable<XElement> de =
    from el in xmlTree.Descendants()
    select el;
foreach (XElement el in de)
    Console.WriteLine(el.Name);
' Attributes are not nodes, so will not be returned by DescendantNodes.
Dim xmlTree As XElement = _
    <Root Att1="AttributeContent">
        <Child>Some text
            <GrandChild>element content</GrandChild>
        </Child>
    </Root>
Dim de = From el In xmlTree.Descendants _
         Select el

For Each el In de
    Console.WriteLine(el.Name)
Next

Cet exemple produit la sortie suivante :

Child
GrandChild

Remarques

Notez que cette méthode ne se retourne pas dans le résultat IEnumerable<T>. Vérifiez DescendantsAndSelf si vous devez inclure le courant XElement dans les résultats.

Cette méthode utilise l’exécution différée.

Voir aussi

S’applique à

Descendants(XName)

Source:
XContainer.cs
Source:
XContainer.cs
Source:
XContainer.cs
Source:
XContainer.cs
Source:
XContainer.cs

Retourne une collection filtrée des éléments descendants pour ce document ou cet élément, dans l’ordre du document. Seuls les éléments qui ont un XName correspondant sont inclus dans la collection.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Descendants(System::Xml::Linq::XName ^ name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants(System.Xml.Linq.XName name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants(System.Xml.Linq.XName? name);
member this.Descendants : System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement>
Public Function Descendants (name As XName) As IEnumerable(Of XElement)

Paramètres

name
XName

À XName mettre en correspondance.

Retours

Contenant IEnumerable<T> les éléments descendants de l’élément XElement correspondant à l’élément spécifié XContainer.XName

Exemples

L’exemple suivant imprime tous les descendants d’un élément.

// Attributes are not nodes, so will not be returned by DescendantNodes.
XElement xmlTree = new XElement("Root",
    new XAttribute("Att1", "AttributeContent"),
    new XElement("Child",
        new XText("Some text"),
        new XElement("GrandChild", "element content")
    )
);
IEnumerable<XElement> de =
    from el in xmlTree.Descendants("Child")
    select el;
foreach (XElement el in de)
    Console.WriteLine(el.Name);
' Attributes are not nodes, so will not be returned by the descendants axis.
Dim xmlTree As XElement = _
    <Root Att1="AttributeContent">
         <Child>Some text
             <GrandChild>element content</GrandChild>
         </Child>
     </Root>

Dim de = From el In xmlTree...<Child> _
         Select el

For Each el In de
    Console.WriteLine(el.Name)
Next

Cet exemple produit la sortie suivante :

Child

Voici le même exemple, mais dans ce cas, le code XML se trouve dans un espace de noms. Pour plus d’informations, consultez Utiliser des espaces de noms XML.

// Attributes are not nodes, so will not be returned by DescendantNodes.
XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
    new XAttribute(aw + "Att1", "AttributeContent"),
    new XElement(aw + "Child",
        new XText("Some text"),
        new XElement(aw + "GrandChild", "element content")
    )
);
IEnumerable<XElement> de =
    from el in xmlTree.Descendants(aw + "Child")
    select el;
foreach (XElement el in de)
    Console.WriteLine(el.Name);
Imports <xmlns:aw = "http://www.adventure-works.com">

Module Module1
    Sub Main()
        ' Attributes are not nodes, so will not be returned by the descendants axis.
        Dim xmlTree As XElement = _
            <aw:Root aw:Att1="AttributeContent">
                 <aw:Child>Some text
                     <aw:GrandChild>element content</aw:GrandChild>
                 </aw:Child>
             </aw:Root>

        Dim de = From el In xmlTree...<aw:Child> _
                 Select el

        For Each el In de
            Console.WriteLine(el.Name)
        Next
    End Sub
End Module

Cet exemple produit la sortie suivante :

{http://www.adventure-works.com}Child

Remarques

Cette méthode utilise l’exécution différée.

Voir aussi

S’applique à