Export (0) Print
Expand All

Extensions.Nodes<T> Method

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

Namespace:  System.Xml.Linq
Assemblies:   System.Xml.XDocument (in System.Xml.XDocument.dll)
  System.Xml.Linq (in System.Xml.Linq.dll)

public static IEnumerable<XNode> Nodes<T>(
	this IEnumerable<T> source
)
where T : XContainer

Type Parameters

T

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

Parameters

source
Type: System.Collections.Generic.IEnumerable<T>

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

Return Value

Type: System.Collections.Generic.IEnumerable<XNode>
An IEnumerable<T> of XNode of the child nodes of every document and element in the source collection.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<T>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

This method uses deferred execution.

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

This example produces the following output:

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft