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.

C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants ();

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.

C#
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);  

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 à

.NET 7 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants (System.Xml.Linq.XName name);
C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants (System.Xml.Linq.XName? name);

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.

C#
// 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);  

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.

C#
// 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);  

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 à

.NET 7 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0