Compartir a través de


XContainer.Elements Método

Definición

Devuelve una colección de los elementos secundarios de este elemento o documento, clasificados por documento.

Sobrecargas

Elements()

Devuelve una colección de los elementos secundarios de este elemento o documento, clasificados por documento.

Elements(XName)

Devuelve una colección filtrada de elementos secundarios de este documento o elemento, clasificados por documento. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.

Comentarios

Este método usa la ejecución diferida.

Elements()

Devuelve una colección de los elementos secundarios de este elemento o documento, clasificados por documento.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Elements();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements ();
member this.Elements : unit -> seq<System.Xml.Linq.XElement>
Public Function Elements () As IEnumerable(Of XElement)

Devoluciones

IEnumerable<XElement>

Interfaz IEnumerable<T> de XElement que contiene los elementos secundarios de XContainer, clasificados por documento.

Ejemplos

En el ejemplo siguiente se crea un árbol XML y, a continuación, se seleccionan algunos elementos mediante este método de eje.

XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5)  
);  
IEnumerable<XElement> elements =  
    from el in xmlTree.Elements()  
    where (int)el <= 3  
    select el;  
foreach (XElement el in elements)  
    Console.WriteLine(el);  
Dim xmlTree As XElement = _  
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
        </Root>  

Dim elements = From el In xmlTree.Elements _  
               Where el.Value <= 3 _  
               Select el  

For Each el In elements  
    Console.WriteLine(el)  
Next  

Este ejemplo produce el siguiente resultado:

<Child1>1</Child1>  
<Child2>2</Child2>  
<Child3>3</Child3>  

El siguiente es el mismo ejemplo, pero en este caso el XML está en un espacio de nombres. Para obtener más información, vea Trabajar con espacios de nombres XML.

XNamespace aw = "http://www.adventure-works.com";  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XElement(aw + "Child1", 1),  
    new XElement(aw + "Child2", 2),  
    new XElement(aw + "Child3", 3),  
    new XElement(aw + "Child4", 4),  
    new XElement(aw + "Child5", 5)  
);  
IEnumerable<XElement> elements =  
    from el in xmlTree.Elements()  
    where (int)el <= 3  
    select el;  
foreach (XElement el in elements)  
    Console.WriteLine(el);  
Imports <xmlns:aw="http://www.adventure-works.com">  

Module Module1  
    Sub Main()  
        Dim xmlTree As XElement = _  
            <aw:Root>  
                <aw:Child1>1</aw:Child1>  
                <aw:Child2>2</aw:Child2>  
                <aw:Child3>3</aw:Child3>  
                <aw:Child4>4</aw:Child4>  
                <aw:Child5>5</aw:Child5>  
            </aw:Root>  

        Dim elements = From el In xmlTree.Elements _  
                       Where el.Value <= 3 _  
                       Select el  

        For Each el In elements  
            Console.WriteLine(el)  
        Next  
    End Sub  
End Module  

Este ejemplo produce el siguiente resultado:

<aw:Child1 xmlns:aw="http://www.adventure-works.com">1</aw:Child1>  
<aw:Child2 xmlns:aw="http://www.adventure-works.com">2</aw:Child2>  
<aw:Child3 xmlns:aw="http://www.adventure-works.com">3</aw:Child3>  

Comentarios

Este método usa la ejecución diferida.

Consulte también

Se aplica a

Elements(XName)

Devuelve una colección filtrada de elementos secundarios de este documento o elemento, clasificados por documento. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Elements(System::Xml::Linq::XName ^ name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements (System.Xml.Linq.XName name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements (System.Xml.Linq.XName? name);
member this.Elements : System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement>
Public Function Elements (name As XName) As IEnumerable(Of XElement)

Parámetros

name
XName

XName que se va a comparar.

Devoluciones

IEnumerable<XElement>

Interfaz IEnumerable<T> de XElement que contiene los elementos secundarios de XContainer que tienen un XName coincidente, clasificados por documento.

Ejemplos

En el ejemplo siguiente se crea un árbol XML y, a continuación, se seleccionan varios elementos secundarios mediante este método de eje.

XElement xmlTree = new XElement("Root",  
    new XElement("Type1", 1),  
    new XElement("Type1", 2),  
    new XElement("Type2", 3),  
    new XElement("Type2", 4),  
    new XElement("Type2", 5)  
);  
IEnumerable<XElement> elements =  
    from el in xmlTree.Elements("Type2")  
    select el;  
foreach (XElement el in elements)  
    Console.WriteLine(el);  
Dim xmlTree As XElement = _   
        <Root>  
            <Type1>1</Type1>  
            <Type1>2</Type1>  
            <Type2>3</Type2>  
            <Type2>4</Type2>  
            <Type2>5</Type2>  
        </Root>  

Dim elements = From el In xmlTree.<Type2> _  
               Select el  

For Each el In elements  
    Console.WriteLine(el)  
Next  

Este ejemplo produce el siguiente resultado:

<Type2>3</Type2>  
<Type2>4</Type2>  
<Type2>5</Type2>  

El siguiente es el mismo ejemplo, pero en este caso el XML está en un espacio de nombres. Para obtener más información, vea Trabajar con espacios de nombres XML.

XNamespace aw = "http://www.adventure-works.com";  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XElement(aw + "Type1", 1),  
    new XElement(aw + "Type1", 2),  
    new XElement(aw + "Type2", 3),  
    new XElement(aw + "Type2", 4),  
    new XElement(aw + "Type2", 5)  
);  
IEnumerable<XElement> elements =  
    from el in xmlTree.Elements(aw + "Type2")  
    select el;  
foreach (XElement el in elements)  
    Console.WriteLine(el);  
Imports <xmlns:aw="http://www.adventure-works.com">  

Module Module1  
    Sub Main()  
        Dim xmlTree As XElement = _   
            <aw:Root>  
                <aw:Type1>1</aw:Type1>  
                <aw:Type1>2</aw:Type1>  
                <aw:Type2>3</aw:Type2>  
                <aw:Type2>4</aw:Type2>  
                <aw:Type2>5</aw:Type2>  
            </aw:Root>  

        Dim elements = From el In xmlTree.<aw:Type2> _  
                       Select el  

        For Each el In elements  
            Console.WriteLine(el)  
        Next  
    End Sub  
End Module  

Este ejemplo produce el siguiente resultado:

<aw:Type2 xmlns:aw="http://www.adventure-works.com">3</aw:Type2>  
<aw:Type2 xmlns:aw="http://www.adventure-works.com">4</aw:Type2>  
<aw:Type2 xmlns:aw="http://www.adventure-works.com">5</aw:Type2>  

Comentarios

Este método usa la ejecución diferida.

Consulte también

Se aplica a