XContainer.Descendants Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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<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
Retours
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.