XNode.NextNode Property

Gets the next sibling node of this node.

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

public XNode NextNode { get; }

Property Value

Type: System.Xml.Linq.XNode
The XNode that contains the next sibling node.

If this XNode does not have a parent, or if there is no next node, this property returns null.

The following example uses this property to loop through nodes.

XElement xmlTree = new XElement("Root",
    new XElement("Child1", 1),
    new XText("Some Text"),
    new XElement("Child2",
        2,
        new XElement("GrandChild", "GrandChild Content")
    ),
    new XComment("a comment"),
    new XElement("Child3")
);
XNode node = xmlTree.Element("Child2");
do {
    StringBuilder sb = new StringBuilder();
    sb.Append(String.Format("NodeType: {0}", node.NodeType.ToString().PadRight(10)));
    switch (node.NodeType)
    {
        case XmlNodeType.Text:
            sb.Append((node as XText).Value);
            break;
        case XmlNodeType.Element:
            sb.Append((node as XElement).Name);
            break;
        case XmlNodeType.Comment:
            sb.Append((node as XComment).Value);
            break;
    }
    Console.WriteLine(sb.ToString());
}
while ((node = node.NextNode) != null);

This example produces the following output:

NodeType: Element   Child2
NodeType: Comment   a comment
NodeType: Element   Child3

.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
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft