XPathNavigator.MoveToNext Method
.NET Framework 4.5
When overridden in a derived class, moves the XPathNavigator to the next sibling node of the current node.
Namespace: System.Xml.XPath
Assembly: System.Xml (in System.Xml.dll)
Return Value
Type: System.Booleantrue if the XPathNavigator is successful moving to the next sibling node; otherwise, false if there are no more siblings or if the XPathNavigator is currently positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.
The following example iterates over the node tree recursively, and displays information about element and text nodes.
Shared Sub XPathNavigatorMethods_MoveToNext() Dim document As XPathDocument = New XPathDocument("books.xml") Dim navigator As XPathNavigator = document.CreateNavigator() Dim nodeset As XPathNodeIterator = navigator.Select("descendant::book[author/last-name='Melville']") While nodeset.MoveNext() ' Clone iterator here when working with it. RecursiveWalk(nodeset.Current.Clone()) End While End Sub Shared Sub RecursiveWalk(ByVal navigator As XPathNavigator) Select Case navigator.NodeType Case XPathNodeType.Element If navigator.Prefix = String.Empty Then Console.WriteLine("<{0}>", navigator.LocalName) Else Console.Write("<{0}:{1}>", navigator.Prefix, navigator.LocalName) Console.WriteLine(vbTab + navigator.NamespaceURI) End If Case XPathNodeType.Text Console.WriteLine(vbTab + navigator.Value) End Select If navigator.MoveToFirstChild() Then Do RecursiveWalk(navigator) Loop While (navigator.MoveToNext()) navigator.MoveToParent() If (navigator.NodeType = XPathNodeType.Element) Then Console.WriteLine("</{0}>", navigator.Name) End If Else If navigator.NodeType = XPathNodeType.Element Then Console.WriteLine("</{0}>", navigator.Name) End If End If End Sub
The example takes the books.xml file as an input.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.