Export (0) Print
Expand All

XPathNavigator.MoveToFollowing Method (String, String, XPathNavigator)

Note: This method is new in the .NET Framework version 2.0.

Moves the XPathNavigator to the element with the local name and namespace URI specified, to the boundary specified, in document order.

Namespace: System.Xml.XPath
Assembly: System.Xml (in system.xml.dll)

public virtual bool MoveToFollowing (
	string localName,
	string namespaceURI,
	XPathNavigator end
)
public boolean MoveToFollowing (
	String localName, 
	String namespaceURI, 
	XPathNavigator end
)
public function MoveToFollowing (
	localName : String, 
	namespaceURI : String, 
	end : XPathNavigator
) : boolean

Parameters

localName

The local name of the element.

namespaceURI

The namespace URI of the element.

end

The XPathNavigator object positioned on the element boundary which the current XPathNavigator will not move past while searching for the following element.

Return Value

true if the XPathNavigator moved successfully; otherwise false.

  • If the XPathNavigator boundary passed as a parameter is not positioned after the position of the current XPathNavigator it is ignored.

  • If the XPathNavigator boundary parameter is a null reference (Nothing in Visual Basic), the following element with the local name and namespace URI specified is located in document order.

  • The MoveToFollowing methods cannot be used to move to attribute or namespace nodes. If the XPathNavigator boundary passed as a parameter is positioned over an attribute or namespace node, it is equivalent to the XPathNavigator boundary parameter having been positioned on the first child node of its parent element. This ensures that the parent element of the attribute or namespace node that the XPathNavigator boundary parameter is positioned on can be matched by this method.

  • If the MoveToFollowing method returns false, the position of the XPathNavigator is unchanged.

In the following example, the XPathNavigator is moved from the root of the contosoBooks.xml file to the following book element. A clone of the XPathNavigator object is made using the Clone method and is moved from the book element to the following first-name element. The cloned XPathNavigator, positioned on the first-name element, will be used as a boundary. Changes in the position of the cloned XPathNavigator do not affect the original XPathNavigator. The original XPathNavigator then attempts to move to the following price element using the MoveToFollowing method with the boundary passed as a parameter. This move fails because the following price element is beyond the boundary. The original XPathNavigator then attempts to move to the following title element which is before the boundary using the same method and succeeds.

XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToFollowing("book", "http://www.contoso.com/books");
XPathNavigator boundary = navigator.Clone();
boundary.MoveToFollowing("first-name", "http://www.contoso.com/books");

navigator.MoveToFollowing("price", "http://www.contoso.com/books", boundary);

Console.WriteLine("Position (after boundary): {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);

navigator.MoveToFollowing("title", "http://www.contoso.com/books", boundary);

Console.WriteLine("Position (before boundary): {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);

The example takes the contosoBooks.xml file as an input.

<bookstore xmlns="http://www.contoso.com/books">
    <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 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2015 Microsoft