Extensions.Nodes(IEnumerable<T>) Extensions.Nodes(IEnumerable<T>) Extensions.Nodes(IEnumerable<T>) Extensions.Nodes(IEnumerable<T>) Method

Определение

Возвращает коллекцию дочерних узлов каждого документа и элемента в исходной коллекции.Returns a collection of the child nodes of every document and element in the source collection.

public:
generic <typename T>
 where T : System::Xml::Linq::XContainer[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<System::Xml::Linq::XNode ^> ^ Nodes(System::Collections::Generic::IEnumerable<T> ^ source);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XNode> Nodes<T> (this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XContainer;
static member Nodes : seq<'T (requires 'T :> System.Xml.Linq.XContainer)> -> seq<System.Xml.Linq.XNode> (requires 'T :> System.Xml.Linq.XContainer)
<Extension()>
Public Function Nodes(Of T As XContainer) (source As IEnumerable(Of T)) As IEnumerable(Of XNode)

Параметры типа

T

Тип объектов в source, ограниченный узлом XContainer.The type of the objects in source, constrained to XContainer.

Параметры

source
IEnumerable<T> IEnumerable<T> IEnumerable<T> IEnumerable<T>

Интерфейс IEnumerable<T> узла XNode, содержащий исходную коллекцию.An IEnumerable<T> of XNode that contains the source collection.

Возвраты

IEnumerable<T> для XNode дочерних узлов каждого документа и элемента в исходной коллекции.An IEnumerable<T> of XNode of the child nodes of every document and element in the source collection.

Примеры

Следующий пример извлекает все дочерние узлы для каждого узла в коллекции элементов с именем Child.The following example retrieves all of the child nodes for every node in a collection of elements with the name of Child.

XElement xmlTree = XElement.Parse(  
    @"<Root><Child>aaa<GrandChild>Text</GrandChild>bbb</Child>" +  
    @"<Child>ccc<GrandChild>Text</GrandChild>ddd</Child></Root>");  
IEnumerable<XNode> nodes = xmlTree.Elements("Child").Nodes();  

foreach (XNode node in nodes)  
{  
    switch (node.NodeType)  
    {  
        case XmlNodeType.Element:  
            Console.WriteLine("Element: {0}", ((XElement)node).Name);  
            break;  
        case XmlNodeType.Text:  
            Console.WriteLine("Text: {0}", ((XText)node).Value);  
            break;  
    }  
}  
Dim xmlTree As XElement = _  
    <Root>  
        <Child>aaa<GrandChild>Text</GrandChild>bbb</Child>  
        <Child>ccc<GrandChild>Text</GrandChild>ddd</Child>  
    </Root>  

Dim nodes = xmlTree.<Child>.Nodes()  

' Note that XNode uses XmlNodeType, which is in the System.Xml namespace.  
For Each node As XNode In nodes  
    Select Case node.NodeType  
        Case XmlNodeType.Element  
            Console.WriteLine("Element: {0}", DirectCast(node, XElement).Name)  
        Case XmlNodeType.Text  
            Console.WriteLine("Text: {0}", DirectCast(node, XText).Value)  
    End Select  
Next  

В этом примере получается следующий результат:This example produces the following output:

Text: aaa  
Element: GrandChild  
Text: bbb  
Text: ccc  
Element: GrandChild  
Text: ddd  

Комментарии

Этот метод использует отложенное выполнение.This method uses deferred execution.

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

Дополнительно