Partager via


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

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 des documents. Seuls les éléments avec un XName correspondant sont inclus dans la collection.

Remarques

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

Descendants()

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<XElement>

IEnumerable<T> de XElement contenant 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 retourne pas elle-même 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)

Retourne une collection filtrée des éléments descendants pour ce document ou cet élément, dans l'ordre des documents. Seuls les éléments avec 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

IEnumerable<XElement>

IEnumerable<T> de XElement contenant les éléments descendants du XContainer qui correspond au XName spécifié.

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 à