Partilhar via


XPathNavigator.MoveToFollowing Método

Definição

Move XPathNavigator ao elemento especificado na ordem de documento.

Sobrecargas

MoveToFollowing(XPathNodeType, XPathNavigator)

Move o XPathNavigator para o próximo elemento do XPathNodeType especificado, até o limite especificado, na ordem do documento.

MoveToFollowing(String, String, XPathNavigator)

Move o XPathNavigator para o elemento com o nome local e o URI do namespace especificado, até o limite especificado, na ordem do documento.

MoveToFollowing(XPathNodeType)

Move o XPathNavigator para o próximo elemento do XPathNodeType especificado na ordem do documento.

MoveToFollowing(String, String)

Move o XPathNavigator para o elemento com o nome local e o URI do namespace especificado na ordem do documento.

MoveToFollowing(XPathNodeType, XPathNavigator)

Move o XPathNavigator para o próximo elemento do XPathNodeType especificado, até o limite especificado, na ordem do documento.

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

Parâmetros

type
XPathNodeType

O XPathNodeType do elemento. O XPathNodeType não pode ser Attribute ou Namespace.

end
XPathNavigator

O objeto XPathNavigator posicionado no limite do elemento além do qual o XPathNavigator atual não passará ao procurar o elemento seguinte.

Retornos

Boolean

true se o XPathNavigator foi movido com êxito, caso contrário, false.

Exemplos

No exemplo a seguir, a XPathNavigator raiz do contosoBooks.xml arquivo é movida para o elemento a seguir price . Um clone do XPathNavigator objeto é feito usando o Clone método. O clonado XPathNavigator, posicionado no price elemento, será usado como um limite. As alterações na posição do clonado XPathNavigator não afetam o original XPathNavigator. O original XPathNavigator é movido de volta para a raiz do contosoBooks.xml arquivo usando o MoveToRoot método. O título e o nome e sobrenome do autor são recuperados usando o MoveToFollowing método e um XPathNodeType de Text. O MoveToFollowing método retornará true até que o limite do price elemento seja atingido.

    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

O exemplo usa o arquivo contosoBooks.xml como entrada.

<?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>  

Comentários

  • O MoveToFollowing método não se move para nós de atributo ou namespace. Se o valor do XPathNodeType parâmetro for Attribute ou Namespace, o MoveToFollowing método retornará false e a posição do XPathNavigator parâmetro permanecerá inalterada.

  • Se o XPathNavigator limite passado como um parâmetro não estiver posicionado após a posição da atual XPathNavigator , ele será ignorado.

  • Se XPathNavigator o limite passado como parâmetro for null o próximo nó a seguir com o especificado XPathNodeType estiver localizado na ordem do documento.

  • Os MoveToFollowing métodos não podem ser usados para mover para nós de atributo ou namespace. Se o XPathNavigator limite passado como um parâmetro for posicionado sobre um nó de atributo ou namespace, ele será equivalente ao XPathNavigator parâmetro de limite que foi posicionado no primeiro nó filho de seu elemento pai. Isso garante que o elemento pai do nó de atributo ou namespace no qual o XPathNavigator parâmetro de limite está posicionado possa ser correspondido por esse método.

  • Se o MoveToFollowing método retornar false, a posição do XPathNavigator método será inalterada.

Aplica-se a

MoveToFollowing(String, String, XPathNavigator)

Move o XPathNavigator para o elemento com o nome local e o URI do namespace especificado, até o limite especificado, na ordem do documento.

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

Parâmetros

localName
String

O nome local do elemento.

namespaceURI
String

O URI do namespace do elemento.

end
XPathNavigator

O objeto XPathNavigator posicionado no limite do elemento além do qual o XPathNavigator atual não passará ao procurar o elemento seguinte.

Retornos

Boolean

true se o XPathNavigator foi movido com êxito, caso contrário, false.

Exemplos

No exemplo a seguir, a XPathNavigator raiz do contosoBooks.xml arquivo é movida para o elemento a seguir book . Um clone do XPathNavigator objeto é feito usando o Clone método e é movido do book elemento para o elemento a seguir first-name . O clonado XPathNavigator, posicionado no first-name elemento, será usado como um limite. As alterações na posição do clonado XPathNavigator não afetam o original XPathNavigator. Em seguida, o original XPathNavigator tenta mover para o elemento a seguir price usando o MoveToFollowing método com o limite passado como um parâmetro. Essa movimentação falha porque o elemento a seguir price está além do limite. Em seguida, o original XPathNavigator tenta mover para o elemento a seguir title , que é antes do limite usando o mesmo método e é bem-sucedido.

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)

O exemplo usa o arquivo contosoBooks.xml como entrada.

<?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>  

Comentários

  • Se o XPathNavigator limite passado como um parâmetro não estiver posicionado após a posição da atual XPathNavigator , ele será ignorado.

  • Se o XPathNavigator parâmetro de limite for null, o elemento a seguir com o nome local e o URI do namespace especificados estará localizado na ordem do documento.

  • Os MoveToFollowing métodos não podem ser usados para mover para nós de atributo ou namespace. Se o XPathNavigator limite passado como um parâmetro for posicionado sobre um nó de atributo ou namespace, ele será equivalente ao XPathNavigator parâmetro de limite que foi posicionado no primeiro nó filho de seu elemento pai. Isso garante que o elemento pai do nó de atributo ou namespace no qual o XPathNavigator parâmetro de limite está posicionado possa ser correspondido por esse método.

  • Se o MoveToFollowing método retornar false, a posição do XPathNavigator método será inalterada.

Aplica-se a

MoveToFollowing(XPathNodeType)

Move o XPathNavigator para o próximo elemento do XPathNodeType especificado na ordem do documento.

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

Parâmetros

type
XPathNodeType

O XPathNodeType do elemento. O XPathNodeType não pode ser Attribute ou Namespace.

Retornos

Boolean

true se o XPathNavigator foi movido com êxito, caso contrário, false.

Exemplos

No exemplo a seguir, a XPathNavigator raiz do contosoBooks.xml arquivo é movida para o elemento a seguir bookstore .

    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)

O exemplo usa o arquivo contosoBooks.xml como entrada.

<?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>  

Comentários

Aplica-se a

MoveToFollowing(String, String)

Move o XPathNavigator para o elemento com o nome local e o URI do namespace especificado na ordem do documento.

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

Parâmetros

localName
String

O nome local do elemento.

namespaceURI
String

O URI do namespace do elemento.

Retornos

Boolean

true se o XPathNavigator foi movido com êxito, caso contrário, false.

Exemplos

No exemplo a seguir, a XPathNavigator raiz do contosoBooks.xml arquivo é movida para o primeiro price elemento.

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)

O exemplo usa o arquivo contosoBooks.xml como entrada.

<?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>  

Comentários

Se o MoveToFollowing método retornar false, a posição do XPathNavigator método será inalterada.

Aplica-se a