XContainer.Descendants Metoda

Definice

Vrátí kolekci potomkových prvků pro tento dokument nebo element v pořadí dokumentů.Returns a collection of the descendant elements for this document or element, in document order.

Přetížení

Descendants()

Vrátí kolekci potomkových prvků pro tento dokument nebo element v pořadí dokumentů.Returns a collection of the descendant elements for this document or element, in document order.

Descendants(XName)

Vrátí filtrovanou kolekci prvků následníka pro tento dokument nebo element v pořadí dokumentů.Returns a filtered collection of the descendant elements for this document or element, in document order. Do kolekce jsou zahrnuty pouze prvky, které mají odpovídající spárování XName .Only elements that have a matching XName are included in the collection.

Poznámky

Tato metoda používá odložené provádění.This method uses deferred execution.

Descendants()

Vrátí kolekci potomkových prvků pro tento dokument nebo element v pořadí dokumentů.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)

Návraty

IEnumerable<XElement>

IEnumerable<T> XElement Obsahuje následníky elementu XContainer .An IEnumerable<T> of XElement containing the descendant elements of the XContainer.

Příklady

Následující příklad vytvoří strom XML a poté pomocí této metody osy získá následníky.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  

Tento příklad vytvoří následující výstup:This example produces the following output:

Child  
GrandChild  

Poznámky

Všimněte si, že tato metoda nebude vracet sám do výsledku IEnumerable<T> .Note that this method will not return itself in the resulting IEnumerable<T>. Podívejte se, DescendantsAndSelf jestli je potřeba do výsledků zahrnout aktuální XElement .See DescendantsAndSelf if you need to include the current XElement in the results.

Tato metoda používá odložené provádění.This method uses deferred execution.

Viz také

Platí pro

Descendants(XName)

Vrátí filtrovanou kolekci prvků následníka pro tento dokument nebo element v pořadí dokumentů.Returns a filtered collection of the descendant elements for this document or element, in document order. Do kolekce jsou zahrnuty pouze prvky, které mají odpovídající spárování XName .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);
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)

Parametry

name
XName

Tak, XName aby odpovídal.The XName to match.

Návraty

IEnumerable<XElement>

IEnumerable<T> XElement Obsahuje následníky XContainer , které odpovídají zadanému prvku XName .An IEnumerable<T> of XElement containing the descendant elements of the XContainer that match the specified XName.

Příklady

Následující příklad vytiskne všechny následníky elementu.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  

Tento příklad vytvoří následující výstup:This example produces the following output:

Child  

Následuje stejný příklad, ale v tomto případě je XML v oboru názvů.The following is the same example, but in this case the XML is in a namespace. Další informace najdete v tématu práce s obory názvů XML.For more information, see Work 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  

Tento příklad vytvoří následující výstup:This example produces the following output:

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

Poznámky

Tato metoda používá odložené provádění.This method uses deferred execution.

Viz také

Platí pro