XContainer.Descendants Methode

Definition

Gibt eine Auflistung der untergeordneten Elemente für dieses Dokument oder Element in der Dokumentreihenfolge zurück.

Überlädt

Name Beschreibung
Descendants()

Gibt eine Auflistung der untergeordneten Elemente für dieses Dokument oder Element in der Dokumentreihenfolge zurück.

Descendants(XName)

Gibt eine gefilterte Auflistung der untergeordneten Elemente für dieses Dokument oder Element in der Dokumentreihenfolge zurück. In der Auflistung sind nur Elemente enthalten, die über einen übereinstimmenden XName verfügen.

Hinweise

Diese Methode verwendet verzögerte Ausführung.

Descendants()

Quelle:
XContainer.cs
Quelle:
XContainer.cs
Quelle:
XContainer.cs
Quelle:
XContainer.cs
Quelle:
XContainer.cs

Gibt eine Auflistung der untergeordneten Elemente für dieses Dokument oder Element in der Dokumentreihenfolge zurück.

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 Element IEnumerable<T> , das XElement die untergeordneten Elemente der XContainer.

Beispiele

Im folgenden Beispiel wird eine XML-Struktur erstellt und anschließend diese Achsenmethode verwendet, um die Nachfolger abzurufen.

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:

Child
GrandChild

Hinweise

Beachten Sie, dass sich diese Methode nicht selbst im resultierenden IEnumerable<T>Ergebnis zurückgibt. Überprüfen Sie DescendantsAndSelf , ob Sie den aktuellen XElement in die Ergebnisse einschließen müssen.

Diese Methode verwendet verzögerte Ausführung.

Weitere Informationen

Gilt für:

Descendants(XName)

Quelle:
XContainer.cs
Quelle:
XContainer.cs
Quelle:
XContainer.cs
Quelle:
XContainer.cs
Quelle:
XContainer.cs

Gibt eine gefilterte Auflistung der untergeordneten Elemente für dieses Dokument oder Element in der Dokumentreihenfolge zurück. In der Auflistung sind nur Elemente enthalten, die über einen übereinstimmenden XName verfügen.

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)

Parameter

name
XName

Die XName Übereinstimmung.

Gibt zurück

Ein Element IEnumerable<T> , XElement das die untergeordneten Elemente der XContainer mit dem angegebenen Element XNameübereinstimmt.

Beispiele

Im folgenden Beispiel werden alle Nachfolger eines Elements gedruckt.

// 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:

Child

Nachfolgend sehen Sie das gleiche Beispiel, aber in diesem Fall befindet sich der XML-Code in einem Namespace. Weitere Informationen finden Sie unter Arbeiten mit 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:

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

Hinweise

Diese Methode verwendet verzögerte Ausführung.

Weitere Informationen

Gilt für: