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

Definição

Retorna uma coleção dos elementos descendentes desse documento ou elemento, na ordem do documento.Returns a collection of the descendant elements for this document or element, in document order.

Sobrecargas

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

Retorna uma coleção dos elementos descendentes desse documento ou elemento, na ordem do documento.Returns a collection of the descendant elements for this document or element, in document order.

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

Retorna uma coleção filtrada dos elementos descendentes desse documento ou elemento, na ordem do documento.Returns a filtered collection of the descendant elements for this document or element, in document order. Somente os elementos que têm um XName correspondente são incluídos na coleção.Only elements that have a matching XName are included in the collection.

Comentários

Este método utiliza execução adiada.This method uses deferred execution.

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

Retorna uma coleção dos elementos descendentes desse documento ou elemento, na ordem do documento.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)

Retornos

Um IEnumerable<T> do XElement que contém os elementos descendentes do XContainer.An IEnumerable<T> of XElement containing the descendant elements of the XContainer.

Exemplos

O exemplo a seguir cria uma árvore XML e, em seguida, usa esse método de eixo para recuperar os descendentes.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  

Este exemplo gera a seguinte saída:This example produces the following output:

Child  
GrandChild  

Comentários

Observe que esse método não será retornado no resultado IEnumerable<T>.Note that this method will not return itself in the resulting IEnumerable<T>. Confira DescendantsAndSelf se você precisa incluir o atual XElement nos resultados.See DescendantsAndSelf if you need to include the current XElement in the results.

Este método utiliza execução adiada.This method uses deferred execution.

Veja também

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

Retorna uma coleção filtrada dos elementos descendentes desse documento ou elemento, na ordem do documento.Returns a filtered collection of the descendant elements for this document or element, in document order. Somente os elementos que têm um XName correspondente são incluídos na coleção.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)

Parâmetros

name
XName XName XName XName

O XName correspondente.The XName to match.

Retornos

Um IEnumerable<T> de XElement que contém os elementos descendentes do XContainer que correspondem ao XName especificado.An IEnumerable<T> of XElement containing the descendant elements of the XContainer that match the specified XName.

Exemplos

O exemplo a seguir imprime todos os descendentes de um elemento.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  

Este exemplo gera a seguinte saída:This example produces the following output:

Child  

O exemplo a seguir é o mesmo, mas, nesse caso, o XML está em um namespace.The following is the same example, but in this case the XML is in a namespace. Para obter mais informações, consulte trabalhando com namespaces 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  

Este exemplo gera a seguinte saída:This example produces the following output:

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

Comentários

Este método utiliza execução adiada.This method uses deferred execution.

Veja também

Aplica-se a