XPathNavigator.MoveToFollowing Method
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Moves the XPathNavigator to the specified element in document order.
MoveToFollowing(XPathNodeType, XPathNavigator) |
Moves the XPathNavigator to the following element of the XPathNodeType specified, to the boundary specified, in document order. |
MoveToFollowing(String, String, XPathNavigator) |
Moves the XPathNavigator to the element with the local name and namespace URI specified, to the boundary specified, in document order. |
MoveToFollowing(XPathNodeType) |
Moves the XPathNavigator to the following element of the XPathNodeType specified in document order. |
MoveToFollowing(String, String) |
Moves the XPathNavigator to the element with the local name and namespace URI specified in document order. |
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Moves the XPathNavigator to the following element of the XPathNodeType specified, to the boundary specified, in document order.
public:
virtual bool MoveToFollowing(System::Xml::XPath::XPathNodeType type, System::Xml::XPath::XPathNavigator ^ end);
public virtual bool MoveToFollowing (System.Xml.XPath.XPathNodeType type, System.Xml.XPath.XPathNavigator? end);
public virtual bool MoveToFollowing (System.Xml.XPath.XPathNodeType type, System.Xml.XPath.XPathNavigator end);
abstract member MoveToFollowing : System.Xml.XPath.XPathNodeType * System.Xml.XPath.XPathNavigator -> bool
override this.MoveToFollowing : System.Xml.XPath.XPathNodeType * System.Xml.XPath.XPathNavigator -> bool
Public Overridable Function MoveToFollowing (type As XPathNodeType, end As XPathNavigator) As Boolean
Parameters
- type
- XPathNodeType
The XPathNodeType of the element. The XPathNodeType cannot be Attribute or Namespace.
- end
- XPathNavigator
The XPathNavigator object positioned on the element boundary which the current XPathNavigator will not move past while searching for the following element.
Returns
true
if the XPathNavigator moved successfully; otherwise, false
.
Examples
In the following example, the XPathNavigator is moved from the root of the contosoBooks.xml
file to the following price
element. A clone of the XPathNavigator object is made using the Clone method. The cloned XPathNavigator, positioned on the price
element, will be used as a boundary. Changes in the position of the cloned XPathNavigator do not affect the original XPathNavigator. The original XPathNavigator is moved back to the root of the contosoBooks.xml
file using the MoveToRoot method. The title and first and last name of the author are retrieved using the MoveToFollowing method and an XPathNodeType of Text. The MoveToFollowing method will return true until the price
element boundary is reached.
XPathDocument^ document = gcnew XPathDocument("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();
navigator->MoveToFollowing("price", "http://www.contoso.com/books");
XPathNavigator^ boundary = navigator->Clone();
navigator->MoveToRoot();
while (navigator->MoveToFollowing(XPathNodeType::Text, boundary))
{
Console::WriteLine(navigator->OuterXml);
}
XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToFollowing("price", "http://www.contoso.com/books");
XPathNavigator boundary = navigator.Clone();
navigator.MoveToRoot();
while (navigator.MoveToFollowing(XPathNodeType.Text, boundary))
{
Console.WriteLine(navigator.OuterXml);
}
Dim document As XPathDocument = New XPathDocument("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
navigator.MoveToFollowing("price", "http://www.contoso.com/books")
Dim boundary As XPathNavigator = navigator.Clone()
navigator.MoveToRoot()
While navigator.MoveToFollowing(XPathNodeType.Text, boundary)
Console.WriteLine(navigator.OuterXml)
End While
The example takes the contosoBooks.xml
file as an input.
<?xml version="1.0" encoding="utf-8" ?>
<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>
Remarks
The MoveToFollowing method does not move to attribute or namespace nodes. If the XPathNodeType parameter value is Attribute or Namespace, the MoveToFollowing method returns
false
and the position of the XPathNavigator is unchanged.If the XPathNavigator boundary passed as a parameter is not positioned after the position of the current XPathNavigator it is ignored.
If XPathNavigator boundary passed as a parameter is
null
the next following node with the specified XPathNodeType 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.
Applies to
.NET 9 and other versions
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 | 2.0, 3.0, 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 | 2.0, 2.1 |
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Moves the XPathNavigator to the element with the local name and namespace URI specified, to the boundary specified, in document order.
public:
virtual bool MoveToFollowing(System::String ^ localName, System::String ^ namespaceURI, System::Xml::XPath::XPathNavigator ^ end);
public virtual bool MoveToFollowing (string localName, string namespaceURI, System.Xml.XPath.XPathNavigator? end);
public virtual bool MoveToFollowing (string localName, string namespaceURI, System.Xml.XPath.XPathNavigator end);
abstract member MoveToFollowing : string * string * System.Xml.XPath.XPathNavigator -> bool
override this.MoveToFollowing : string * string * System.Xml.XPath.XPathNavigator -> bool
Public Overridable Function MoveToFollowing (localName As String, namespaceURI As String, end As XPathNavigator) As Boolean
Parameters
- localName
- String
The local name of the element.
- namespaceURI
- String
The namespace URI of the element.
- end
- XPathNavigator
The XPathNavigator object positioned on the element boundary which the current XPathNavigator will not move past while searching for the following element.
Returns
true
if the XPathNavigator moved successfully; otherwise, false
.
Examples
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 = gcnew 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);
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);
Dim document As XPathDocument = New XPathDocument("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
navigator.MoveToFollowing("book", "http://www.contoso.com/books")
Dim boundary As XPathNavigator = 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.
<?xml version="1.0" encoding="utf-8" ?>
<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>
Remarks
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
null
, 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.
Applies to
.NET 9 and other versions
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 | 2.0, 3.0, 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 | 2.0, 2.1 |
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Moves the XPathNavigator to the following element of the XPathNodeType specified in document order.
public:
virtual bool MoveToFollowing(System::Xml::XPath::XPathNodeType type);
public virtual bool MoveToFollowing (System.Xml.XPath.XPathNodeType type);
abstract member MoveToFollowing : System.Xml.XPath.XPathNodeType -> bool
override this.MoveToFollowing : System.Xml.XPath.XPathNodeType -> bool
Public Overridable Function MoveToFollowing (type As XPathNodeType) As Boolean
Parameters
- type
- XPathNodeType
The XPathNodeType of the element. The XPathNodeType cannot be Attribute or Namespace.
Returns
true
if the XPathNavigator moved successfully; otherwise, false
.
Examples
In the following example, the XPathNavigator is moved from the root of the contosoBooks.xml
file to the following bookstore
element.
XPathDocument^ document = gcnew XPathDocument("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();
navigator->MoveToFollowing(XPathNodeType::Element);
Console::WriteLine("Position: {0}", navigator->Name);
Console::WriteLine(navigator->OuterXml);
XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToFollowing(XPathNodeType.Element);
Console.WriteLine("Position: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XPathDocument = New XPathDocument("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
navigator.MoveToFollowing(XPathNodeType.Element)
Console.WriteLine("Position: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)
The example takes the contosoBooks.xml
file as an input.
<?xml version="1.0" encoding="utf-8" ?>
<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>
Remarks
The MoveToFollowing method does not move to attribute or namespace nodes. If the XPathNodeType parameter value is Attribute or Namespace, the MoveToFollowing method returns
false
and the position of the XPathNavigator is unchanged.If the MoveToFollowing method returns
false
, the position of the XPathNavigator is unchanged.
Applies to
.NET 9 and other versions
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 | 2.0, 3.0, 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 | 2.0, 2.1 |
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
- Source:
- XPathNavigator.cs
Moves the XPathNavigator to the element with the local name and namespace URI specified in document order.
public:
virtual bool MoveToFollowing(System::String ^ localName, System::String ^ namespaceURI);
public virtual bool MoveToFollowing (string localName, string namespaceURI);
abstract member MoveToFollowing : string * string -> bool
override this.MoveToFollowing : string * string -> bool
Public Overridable Function MoveToFollowing (localName As String, namespaceURI As String) As Boolean
Parameters
- localName
- String
The local name of the element.
- namespaceURI
- String
The namespace URI of the element.
Returns
true
if the XPathNavigator moved successfully; otherwise, false
.
Examples
In the following example, the XPathNavigator is moved from the root of the contosoBooks.xml
file to the first price
element.
XPathDocument^ document = gcnew XPathDocument("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();
navigator->MoveToFollowing("price", "http://www.contoso.com/books");
Console::WriteLine("Position: {0}", navigator->Name);
Console::WriteLine(navigator->OuterXml);
XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToFollowing("price", "http://www.contoso.com/books");
Console.WriteLine("Position: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XPathDocument = New XPathDocument("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
navigator.MoveToFollowing("price", "http://www.contoso.com/books")
Console.WriteLine("Position: {0}", navigator.Name)
Console.WriteLine(navigator.OuterXml)
The example takes the contosoBooks.xml
file as an input.
<?xml version="1.0" encoding="utf-8" ?>
<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>
Remarks
If the MoveToFollowing method returns false
, the position of the XPathNavigator is unchanged.
Applies to
.NET 9 and other versions
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 | 2.0, 3.0, 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 | 2.0, 2.1 |
.NET feedback
.NET is an open source project. Select a link to provide feedback: