XContainer.Elements Метод

Определение

Возвращает коллекцию дочерних элементов для данного документа или элемента в порядке следования документа.

Перегрузки

Elements()

Возвращает коллекцию дочерних элементов для данного документа или элемента в порядке следования документа.

Elements(XName)

Возвращает фильтрованную коллекцию дочерних элементов для данного документа или элемента в порядке следования документа. В коллекцию включаются только элементы, соответствующие XName.

Комментарии

Этот метод использует отложенное выполнение.

Elements()

Возвращает коллекцию дочерних элементов для данного документа или элемента в порядке следования документа.

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)

Возвращаемое значение

IEnumerable<XElement>

IEnumerable<T>XElement, содержащий дочерние элементы данного XContainer в порядке следования документа.

Примеры

В следующем примере создается XML-дерево, а затем выбираются некоторые элементы с помощью этого метода оси.

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  

В этом примере выводятся следующие данные:

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

Ниже приведен тот же пример, но в этом случае XML находится в пространстве имен. Дополнительные сведения см. в статье "Работа с пространствами имен 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  

В этом примере выводятся следующие данные:

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

Комментарии

Этот метод использует отложенное выполнение.

См. также раздел

Применяется к

Elements(XName)

Возвращает фильтрованную коллекцию дочерних элементов для данного документа или элемента в порядке следования документа. В коллекцию включаются только элементы, соответствующие XName.

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)

Параметры

name
XName

Выражение XName для сопоставления.

Возвращаемое значение

IEnumerable<XElement>

IEnumerable<T>XElement, содержащий дочерние элементы данного XContainer, который имеет совпадающий XName в порядке следования документа.

Примеры

В следующем примере создается XML-дерево, а затем выбирается несколько дочерних элементов с помощью этого метода оси.

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  

В этом примере выводятся следующие данные:

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

Ниже приведен тот же пример, но в этом случае XML находится в пространстве имен. Дополнительные сведения см. в статье "Работа с пространствами имен 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  

В этом примере выводятся следующие данные:

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

Комментарии

Этот метод использует отложенное выполнение.

См. также раздел

Применяется к