XPathNavigator.MoveToFollowing Метод

Определение

Перемещает объект XPathNavigator в указанный элемент в порядке следования документов.

Перегрузки

MoveToFollowing(XPathNodeType, XPathNavigator)

Перемещает XPathNavigator к следующему элементу указанного XPathNodeType до указанной границы в порядке документа.

MoveToFollowing(String, String, XPathNavigator)

Перемещает XPathNavigator к элементу с указанным локальным именем и URI пространства имен, до достижения заданной границы в порядке документа.

MoveToFollowing(XPathNodeType)

Перемещает XPathNavigator к следующему элементу типа XPathNodeType, указанному в порядке документа.

MoveToFollowing(String, String)

Перемещает XPathNavigator к элементу с указанным локальным именем и URI пространства имен в порядке документа.

MoveToFollowing(XPathNodeType, XPathNavigator)

Перемещает XPathNavigator к следующему элементу указанного XPathNodeType до указанной границы в порядке документа.

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

Параметры

type
XPathNodeType

Тип XPathNodeType элемента. Тип XPathNodeType не может быть Attribute или Namespace.

end
XPathNavigator

Объект XPathNavigator, размещенный на границе элемента, которая не пересекается текущим XPathNavigator при поиске следующего элемента.

Возвращаемое значение

Boolean

Значение true, если объект XPathNavigator был перемещен успешно; в противном случае — значение false.

Примеры

В следующем примере XPathNavigator файл перемещается из корня contosoBooks.xml файла в следующий price элемент. Клон XPathNavigator объекта создается с помощью Clone метода. Клонированные XPathNavigatorэлементы, расположенные в элементе price , будут использоваться в качестве границы. Изменения в позиции клонированного XPathNavigator объекта не влияют на исходный XPathNavigator. Исходный файл XPathNavigator перемещается обратно в корень contosoBooks.xml файла с помощью MoveToRoot метода. Заголовок и фамилия автора извлекаются с помощью MoveToFollowing метода и имени XPathNodeType Textавтора. Метод MoveToFollowing вернет значение true, пока price не будет достигнута граница элемента.

    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

В примере в качестве входных данных используется файл contosoBooks.xml.

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

Комментарии

  • Метод MoveToFollowing не перемещается на узлы атрибута или пространства имен. XPathNodeType Если значение параметра равно Attribute илиNamespace, MoveToFollowing метод возвращает false и положение элемента XPathNavigator не изменяется.

  • Если граница, XPathNavigator передаваемая в качестве параметра, не размещается после позиции текущего XPathNavigator , она игнорируется.

  • Если XPathNavigator граница, передаваемая в качестве параметра, является null следующим узлом с указанным XPathNodeType узлом в порядке документа.

  • Методы MoveToFollowing нельзя использовать для перемещения к узлам атрибута или пространства имен. XPathNavigator Если граница, передаваемая в качестве параметра, располагается над узлом атрибута или пространства имен, она эквивалентна XPathNavigator параметру границы, размещенной на первом дочернем узле родительского элемента. Это гарантирует, что XPathNavigator родительский элемент узла атрибута или пространства имен, на котором расположен параметр границы, может соответствовать этому методу.

  • MoveToFollowing Если метод возвращает значениеfalse, позиция элемента XPathNavigator не изменяется.

Применяется к

MoveToFollowing(String, String, XPathNavigator)

Перемещает XPathNavigator к элементу с указанным локальным именем и URI пространства имен, до достижения заданной границы в порядке документа.

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

Параметры

localName
String

Локальное имя элемента.

namespaceURI
String

Универсальный код ресурса (URI) пространства имен элемента.

end
XPathNavigator

Объект XPathNavigator, размещенный на границе элемента, которая не пересекается текущим XPathNavigator при поиске следующего элемента.

Возвращаемое значение

Boolean

Значение true, если объект XPathNavigator был перемещен успешно; в противном случае — значение false.

Примеры

В следующем примере XPathNavigator файл перемещается из корня contosoBooks.xml файла в следующий book элемент. Клон XPathNavigator объекта создается с помощью Clone метода и перемещается из элемента в book следующий first-name элемент. Клонированные XPathNavigatorэлементы, расположенные в элементе first-name , будут использоваться в качестве границы. Изменения в позиции клонированного XPathNavigator объекта не влияют на исходный XPathNavigator. Затем исходный XPathNavigator объект пытается перейти к следующему price элементу, используя MoveToFollowing метод с границей, переданной в качестве параметра. Этот шаг завершается ошибкой, так как следующий price элемент выходит за пределы границы. Затем исходный XPathNavigator объект пытается перейти к следующему title элементу, который находится перед границей с помощью того же метода и завершается успешно.

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)

В примере в качестве входных данных используется файл contosoBooks.xml.

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

Комментарии

  • Если граница, XPathNavigator передаваемая в качестве параметра, не размещается после позиции текущего XPathNavigator , она игнорируется.

  • Если задан параметр nullграницы, указанный XPathNavigator ниже элемент с указанным локальным именем и URI пространства имен находится в порядке документа.

  • Методы MoveToFollowing нельзя использовать для перемещения к узлам атрибута или пространства имен. XPathNavigator Если граница, передаваемая в качестве параметра, располагается над узлом атрибута или пространства имен, она эквивалентна XPathNavigator параметру границы, размещенной на первом дочернем узле родительского элемента. Это гарантирует, что XPathNavigator родительский элемент узла атрибута или пространства имен, на котором расположен параметр границы, может соответствовать этому методу.

  • MoveToFollowing Если метод возвращает значениеfalse, позиция элемента XPathNavigator не изменяется.

Применяется к

MoveToFollowing(XPathNodeType)

Перемещает XPathNavigator к следующему элементу типа XPathNodeType, указанному в порядке документа.

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

Параметры

type
XPathNodeType

Тип XPathNodeType элемента. Тип XPathNodeType не может быть Attribute или Namespace.

Возвращаемое значение

Boolean

Значение true, если объект XPathNavigator был перемещен успешно; в противном случае — значение false.

Примеры

В следующем примере XPathNavigator файл перемещается из корня contosoBooks.xml файла в следующий 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)

В примере в качестве входных данных используется файл contosoBooks.xml.

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

Комментарии

Применяется к

MoveToFollowing(String, String)

Перемещает XPathNavigator к элементу с указанным локальным именем и URI пространства имен в порядке документа.

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

Параметры

localName
String

Локальное имя элемента.

namespaceURI
String

Универсальный код ресурса (URI) пространства имен элемента.

Возвращаемое значение

Boolean

Значение true, если объект XPathNavigator был перемещен успешно; в противном случае — значение false.

Примеры

В следующем примере XPathNavigator файл перемещается из корня contosoBooks.xml файла в первый price элемент.

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)

В примере в качестве входных данных используется файл contosoBooks.xml.

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

Комментарии

MoveToFollowing Если метод возвращает значениеfalse, позиция элемента XPathNavigator не изменяется.

Применяется к