XPathNavigator.ReplaceSelf Метод

Определение

Заменяет текущий узел указанным содержимым.

Перегрузки

Имя Описание
ReplaceSelf(XmlReader)

Заменяет текущий узел содержимым указанного XmlReader объекта.

ReplaceSelf(XPathNavigator)

Заменяет текущий узел содержимым указанного XPathNavigator объекта.

ReplaceSelf(String)

Заменяет текущий узел содержимым указанной строки.

ReplaceSelf(XmlReader)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Заменяет текущий узел содержимым указанного XmlReader объекта.

public:
 virtual void ReplaceSelf(System::Xml::XmlReader ^ newNode);
public virtual void ReplaceSelf(System.Xml.XmlReader newNode);
abstract member ReplaceSelf : System.Xml.XmlReader -> unit
override this.ReplaceSelf : System.Xml.XmlReader -> unit
Public Overridable Sub ReplaceSelf (newNode As XmlReader)

Параметры

newNode
XmlReader

Объект XmlReader , расположенный на XML-данных для нового узла.

Исключения

Объект XmlReader находится в состоянии ошибки или закрыт.

Параметр XmlReader объекта имеет значение null.

Не XPathNavigator размещается на элементе, тексте, инструкции обработки или узле комментариев.

Не поддерживает редактирование XPathNavigator .

Xml-содержимое XmlReader параметра объекта не является хорошо сформированным.

Примеры

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

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

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.ReplaceSelf(pages);

Console.WriteLine("Position after delete: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
navigator.MoveToChild("price", "http://www.contoso.com/books")

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.ReplaceSelf(pages)

Console.WriteLine("Position after delete: {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 размещается на новом узле при завершении ReplaceSelf метода и возвращается true. Он XPathNavigator не находится на новом узле после завершения ReplaceSelf метода, если входные данные Empty XML в этом случае XPathNavigator расположены на следующем одноуровневом узле или родительском узле, если следующий узел с одноуровневой узлом отсутствует на замененном узле и ReplaceSelf возвращается false.

  • Метод ReplaceSelf действителен только в том случае, если XPathNavigator он расположен на элементе, тексте, инструкции обработки или узле комментариев.

  • Если строка данных XML не является хорошо сформированной, чем создается исключение, и результат этого метода эквивалентен вызову DeleteSelf текущего узла.

  • Если XML-строка содержит несколько узлов, все узлы добавляются и XPathNavigator размещаются на первом узле в ряде узлов.

  • Метод ReplaceSelf не эквивалентен методу DeleteSelf .

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

ReplaceSelf(XPathNavigator)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Заменяет текущий узел содержимым указанного XPathNavigator объекта.

public:
 virtual void ReplaceSelf(System::Xml::XPath::XPathNavigator ^ newNode);
public virtual void ReplaceSelf(System.Xml.XPath.XPathNavigator newNode);
abstract member ReplaceSelf : System.Xml.XPath.XPathNavigator -> unit
override this.ReplaceSelf : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub ReplaceSelf (newNode As XPathNavigator)

Параметры

newNode
XPathNavigator

Объект, расположенный XPathNavigator на новом узле.

Исключения

Параметр XPathNavigator объекта имеет значение null.

Не XPathNavigator размещается на элементе, тексте, инструкции обработки или узле комментариев.

Не поддерживает редактирование XPathNavigator .

Xml-содержимое XPathNavigator параметра объекта не является хорошо сформированным.

Примеры

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

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

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

navigator.ReplaceSelf(childNodesNavigator);

Console.WriteLine("Position after delete: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
navigator.MoveToChild("price", "http://www.contoso.com/books")

Dim childNodes As XmlDocument = New XmlDocument()
childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()

navigator.ReplaceSelf(childNodesNavigator)

Console.WriteLine("Position after delete: {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 размещается на новом узле при завершении ReplaceSelf метода и возвращается true. Он XPathNavigator не находится на новом узле после завершения ReplaceSelf метода, если входные данные Empty XML в этом случае XPathNavigator расположены на следующем одноуровневом узле или родительском узле, если следующий узел с одноуровневой узлом отсутствует на замененном узле и ReplaceSelf возвращается false.

  • Метод ReplaceSelf действителен только в том случае, если XPathNavigator он расположен на элементе, тексте, инструкции обработки или узле комментариев.

  • Если строка данных XML не является хорошо сформированной, чем создается исключение, и результат этого метода эквивалентен вызову DeleteSelf текущего узла.

  • Если XML-строка содержит несколько узлов, все узлы добавляются и XPathNavigator размещаются на первом узле в ряде узлов.

  • Метод ReplaceSelf не эквивалентен методу DeleteSelf .

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

ReplaceSelf(String)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Заменяет текущий узел содержимым указанной строки.

public:
 virtual void ReplaceSelf(System::String ^ newNode);
public virtual void ReplaceSelf(string newNode);
abstract member ReplaceSelf : string -> unit
override this.ReplaceSelf : string -> unit
Public Overridable Sub ReplaceSelf (newNode As String)

Параметры

newNode
String

Строка данных XML для нового узла.

Исключения

Параметр строки XML имеет значение null.

Не XPathNavigator размещается на элементе, тексте, инструкции обработки или узле комментариев.

Не поддерживает редактирование XPathNavigator .

Параметр строки XML не является хорошо сформированным.

Примеры

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

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

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");

navigator.ReplaceSelf("<pages>100</pages>");

Console.WriteLine("Position after delete: {0}", navigator.Name);
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
navigator.MoveToChild("price", "http://www.contoso.com/books")

navigator.ReplaceSelf("<pages>100</pages>")

Console.WriteLine("Position after delete: {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 размещается на новом узле при завершении ReplaceSelf метода и возвращается true. Он XPathNavigator не находится на новом узле после завершения ReplaceSelf метода, если входные данные Empty XML в этом случае XPathNavigator расположены на следующем одноуровневом узле или родительском узле, если следующий узел с одноуровневой узлом отсутствует на замененном узле и ReplaceSelf возвращается false.

  • Метод ReplaceSelf действителен только в том случае, если XPathNavigator он расположен на элементе, тексте, инструкции обработки или узле комментариев.

  • Если строка данных XML не является хорошо сформированной, чем создается исключение, и результат этого метода эквивалентен вызову DeleteSelf текущего узла.

  • Если XML-строка содержит несколько узлов, все узлы добавляются и XPathNavigator размещаются на первом узле в ряде узлов.

  • Метод ReplaceSelf не эквивалентен методу DeleteSelf .

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