XContainer.Descendants Metoda

Definicja

Zwraca kolekcję elementów potomnych dla tego dokumentu lub elementu w kolejności dokumentu.Returns a collection of the descendant elements for this document or element, in document order.

Przeciążenia

Descendants()

Zwraca kolekcję elementów potomnych dla tego dokumentu lub elementu w kolejności dokumentu.Returns a collection of the descendant elements for this document or element, in document order.

Descendants(XName)

Zwraca przefiltrowaną kolekcję elementów podrzędnych dla tego dokumentu lub elementu w kolejności dokumentu.Returns a filtered collection of the descendant elements for this document or element, in document order. Kolekcja zawiera tylko elementy, które XName mają zgodne.Only elements that have a matching XName are included in the collection.

Uwagi

Ta metoda używa odroczonego wykonania.This method uses deferred execution.

Descendants()

Zwraca kolekcję elementów potomnych dla tego dokumentu lub elementu w kolejności dokumentu.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)

Zwraca

Element IEnumerable<T> zawierającyelementypodrzędne.XElement XContainerAn IEnumerable<T> of XElement containing the descendant elements of the XContainer.

Przykłady

Poniższy przykład tworzy drzewo XML, a następnie używa tej metody osi do pobierania elementów podrzędnych.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  

Ten przykład generuje następujące wyniki:This example produces the following output:

Child  
GrandChild  

Uwagi

Należy zauważyć, że ta metoda nie zwróci siebie w wynik IEnumerable<T>.Note that this method will not return itself in the resulting IEnumerable<T>. Sprawdź DescendantsAndSelf , czy musisz uwzględnić bieżące XElement wyniki.See DescendantsAndSelf if you need to include the current XElement in the results.

Ta metoda używa odroczonego wykonania.This method uses deferred execution.

Zobacz też

Descendants(XName)

Zwraca przefiltrowaną kolekcję elementów podrzędnych dla tego dokumentu lub elementu w kolejności dokumentu.Returns a filtered collection of the descendant elements for this document or element, in document order. Kolekcja zawiera tylko elementy, które XName mają zgodne.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)

Parametry

name
XName

XName Do dopasowania.The XName to match.

Zwraca

Zawierający elementy zależne, XNamektóre są zgodne z określonym. XContainer IEnumerable<T> XElementAn IEnumerable<T> of XElement containing the descendant elements of the XContainer that match the specified XName.

Przykłady

Poniższy przykład drukuje wszystkie elementy podrzędne 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  

Ten przykład generuje następujące wyniki:This example produces the following output:

Child  

Poniżej znajduje się ten sam przykład, ale w tym przypadku kod XML znajduje się w przestrzeni nazw.The following is the same example, but in this case the XML is in a namespace. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.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  

Ten przykład generuje następujące wyniki:This example produces the following output:

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

Uwagi

Ta metoda używa odroczonego wykonania.This method uses deferred execution.

Zobacz też

Dotyczy