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.Returns a collection of the descendant elements for this document or element, in document order.

Surcharges

Descendants()

Retourne une collection des éléments descendants pour ce document ou cet élément, dans l'ordre des documents.Returns a collection of the descendant elements for this document or element, in document order.

Descendants(XName)

Retourne une collection filtrée des éléments descendants pour ce document ou cet élément, dans l'ordre des documents.Returns a filtered collection of the descendant elements for this document or element, in document order. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the collection.

Remarques

Cette méthode utilise l'exécution différée.This method uses deferred execution.

Descendants()

Retourne une collection des éléments descendants pour ce document ou cet élément, dans l'ordre des documents.Returns a collection of the descendant elements for this document or element, in document order.

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> de XElement contenant les éléments descendants du XContainer.An IEnumerable<T> of XElement containing the descendant elements of the XContainer.

Exemples

L’exemple suivant crée une arborescence XML, puis utilise cette méthode d’axe pour récupérer les descendants.The following example creates an XML tree, and then uses this axis method to retrieve the 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 génère la sortie suivante :This example produces the following output:

Child  
GrandChild  

Remarques

Notez que cette méthode n’est pas retournée dans le IEnumerable<T>résultant.Note that this method will not return itself in the resulting IEnumerable<T>. Consultez DescendantsAndSelf si vous devez inclure le XElement actuel dans les résultats.See DescendantsAndSelf if you need to include the current XElement in the results.

Cette méthode utilise l'exécution différée.This method uses deferred execution.

Voir aussi

Descendants(XName)

Retourne une collection filtrée des éléments descendants pour ce document ou cet élément, dans l'ordre des documents.Returns a filtered collection of the descendant elements for this document or element, in document order. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the 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);
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.The XName to match.

Retours

IEnumerable<T> de XElement contenant les éléments descendants du XContainer qui correspond au XName spécifié.An IEnumerable<T> of XElement containing the descendant elements of the XContainer that match the specified XName.

Exemples

L’exemple suivant imprime tous les descendants d’un élément.The following example prints all descendants of an element.

// 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 génère la sortie suivante :This example produces the following output:

Child  

Voici le même exemple, mais dans ce cas, le code XML se trouve dans un espace de noms.The following is the same example, but in this case the XML is in a namespace. Pour plus d’informations, consultez utilisation des espaces de noms XML.For more information, see Working with XML Namespaces.

// 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 génère la sortie suivante :This example produces the following output:

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

Remarques

Cette méthode utilise l'exécution différée.This method uses deferred execution.

Voir aussi

S’applique à