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

Definition

Returns a collection of the child nodes of every document and element in the source collection.

C#
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;
C#
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;

Type Parameters

T

The type of the objects in source, constrained to XContainer.

Parameters

source
IEnumerable<T>

An IEnumerable<T> of XNode that contains the source collection.

Returns

An IEnumerable<T> of XNode of the child nodes of every document and element in the source collection.

Examples

The following example retrieves all of the child nodes for every node in a collection of elements with the name of Child.

C#
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;  
    }  
}  

This example produces the following output:

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

Remarks

This method uses deferred execution.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

See also