XContainer.Elements Método

Definição

Retorna uma coleção dos elementos filho desse elemento ou documento, na ordem do documento.

Sobrecargas

Elements()

Retorna uma coleção dos elementos filho desse elemento ou documento, na ordem do documento.

Elements(XName)

Retorna uma coleção filtrada dos elementos filho desse elemento ou documento, na ordem do documento. Somente os elementos que têm um XName correspondente são incluídos na coleção.

Comentários

Este método utiliza execução adiada.

Elements()

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

Retornos

IEnumerable<XElement>

Um IEnumerable<T> de XElement que contém os elementos filho deste XContainer, na ordem de documento.

Exemplos

O exemplo a seguir cria uma árvore XML e seleciona alguns elementos usando esse método de eixo.

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  

Esse exemplo gera a saída a seguir:

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

O exemplo a seguir é o mesmo, mas nesse caso o XML está em um namespace. Para obter mais informações, consulte Trabalhar com namespaces 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  

Esse exemplo gera a saída a seguir:

<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>  

Comentários

Este método utiliza execução adiada.

Confira também

Aplica-se a

Elements(XName)

Retorna uma coleção filtrada dos elementos filho desse elemento ou documento, na ordem do documento. Somente os elementos que têm um XName correspondente são incluídos na coleção.

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

O XName correspondente.

Retornos

IEnumerable<XElement>

Um IEnumerable<T> do XElement que contém os filhos do XContainer, que têm um XName correspondente, na ordem do documento.

Exemplos

O exemplo a seguir cria uma árvore XML e seleciona vários elementos filho usando esse método de eixo.

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  

Esse exemplo gera a saída a seguir:

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

O exemplo a seguir é o mesmo, mas nesse caso o XML está em um namespace. Para obter mais informações, consulte Trabalhar com namespaces 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  

Esse exemplo gera a saída a seguir:

<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>  

Comentários

Este método utiliza execução adiada.

Confira também

Aplica-se a