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

Definición

Devuelve una colección de los elementos descendientes de este documento o elemento, clasificados por documento.Returns a collection of the descendant elements for this document or element, in document order.

Sobrecargas

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

Devuelve una colección de los elementos descendientes de este documento o elemento, clasificados por documento.Returns a collection of the descendant elements for this document or element, in document order.

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

Devuelve una colección filtrada de los elementos descendientes de este documento o elemento, clasificados por documento.Returns a filtered collection of the descendant elements for this document or element, in document order. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.Only elements that have a matching XName are included in the collection.

Comentarios

Este método usa la ejecución diferida.This method uses deferred execution.

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

Devuelve una colección de los elementos descendientes de este documento o elemento, clasificados por 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)

Devoluciones

Una interfaz IEnumerable<T> de XElement que contiene los elementos descendientes de XContainer.An IEnumerable<T> of XElement containing the descendant elements of the XContainer.

Ejemplos

El ejemplo siguiente crea un árbol XML y, a continuación, usa este método de eje para recuperar a los descendientes.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 ejemplo produce el siguiente resultado:This example produces the following output:

Child  
GrandChild  

Comentarios

Tenga en cuenta que este método no se devuelve en el cuadro IEnumerable<T>.Note that this method will not return itself in the resulting IEnumerable<T>. Consulte DescendantsAndSelf si necesita incluir actual XElement en los resultados.See DescendantsAndSelf if you need to include the current XElement in the results.

Este método usa la ejecución diferida.This method uses deferred execution.

Consulte también:

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

Devuelve una colección filtrada de los elementos descendientes de este documento o elemento, clasificados por documento.Returns a filtered collection of the descendant elements for this document or element, in document order. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.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

XName que se va a comparar.The XName to match.

Devoluciones

Interfaz IEnumerable<T> de XElement que contiene los elementos descendientes de XContainer que coinciden con el XName especificado.An IEnumerable<T> of XElement containing the descendant elements of the XContainer that match the specified XName.

Ejemplos

El ejemplo siguiente imprime a todos los descendientes de un 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 ejemplo produce el siguiente resultado:This example produces the following output:

Child  

El siguiente es el mismo ejemplo, pero en este caso es el código XML en un espacio de nombres.The following is the same example, but in this case the XML is in a namespace. Para obtener más información, consulte trabajar con espacios de nombres 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 ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Este método usa la ejecución diferida.This method uses deferred execution.

Consulte también:

Se aplica a