XContainer.Descendants XContainer.Descendants XContainer.Descendants XContainer.Descendants Method

Definition

Gibt eine Auflistung der Nachfolgerelemente für dieses Dokument oder Element in Dokumentreihenfolge zurück.Returns a collection of the descendant elements for this document or element, in document order.

Überlädt

Descendants() Descendants() Descendants() Descendants()

Gibt eine Auflistung der Nachfolgerelemente für dieses Dokument oder Element in Dokumentreihenfolge zurück.Returns a collection of the descendant elements for this document or element, in document order.

Descendants(XName) Descendants(XName) Descendants(XName) Descendants(XName)

Gibt eine gefilterte Auflistung der Nachfolgerelemente für dieses Dokument oder Element in Dokumentreihenfolge zurück.Returns a filtered collection of the descendant elements for this document or element, in document order. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

Hinweise

Diese Methode verwendet verzögerte Ausführung.This method uses deferred execution.

Descendants() Descendants() Descendants() Descendants()

Gibt eine Auflistung der Nachfolgerelemente für dieses Dokument oder Element in Dokumentreihenfolge zurück.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)

Gibt zurück

Ein IEnumerable<T> vom Typ XElement mit den Nachfolgerelementen des XContainer.An IEnumerable<T> of XElement containing the descendant elements of the XContainer.

Beispiele

Im folgenden Beispiel wird eine XML-Struktur erstellt, und anschließend wird diese Achsen Methode zum Abrufen der nachfolgenden Elemente verwendet.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  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

Child  
GrandChild  

Hinweise

Beachten Sie, dass sich diese Methode im resultierenden IEnumerable<T>nicht selbst zurückgibt.Note that this method will not return itself in the resulting IEnumerable<T>. Über DescendantsAndSelf prüfen Sie, ob Sie die aktuelle XElement in die Ergebnisse einschließen müssen.See DescendantsAndSelf if you need to include the current XElement in the results.

Diese Methode verwendet verzögerte Ausführung.This method uses deferred execution.

Siehe auch

Descendants(XName) Descendants(XName) Descendants(XName) Descendants(XName)

Gibt eine gefilterte Auflistung der Nachfolgerelemente für dieses Dokument oder Element in Dokumentreihenfolge zurück.Returns a filtered collection of the descendant elements for this document or element, in document order. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.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)

Parameter

name
XName XName XName XName

Der XName, mit dem eine Übereinstimmung gefunden werden soll.The XName to match.

Gibt zurück

Ein IEnumerable<T> vom Typ XElement, das die Nachfolgerelemente des XContainer enthält, die mit dem angegebenen XName übereinstimmen.An IEnumerable<T> of XElement containing the descendant elements of the XContainer that match the specified XName.

Beispiele

Im folgenden Beispiel werden alle Nachfolger Elemente eines Elements ausgegeben.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  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

Child  

Im folgenden finden Sie das gleiche Beispiel, aber in diesem Fall befindet sich der XML-Code in einem Namespace.The following is the same example, but in this case the XML is in a namespace. Weitere Informationen finden Sie unter Arbeiten mit XML-Namespaces.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  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

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

Hinweise

Diese Methode verwendet verzögerte Ausführung.This method uses deferred execution.

Siehe auch

Gilt für: