XPathNavigator.InsertElementAfter(String, String, String, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый элемент брата после текущего узла с помощью префикса пространства имен, указанного локального имени и URI пространства имен с указанным значением.
public:
virtual void InsertElementAfter(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void InsertElementAfter(string? prefix, string localName, string? namespaceURI, string? value);
public virtual void InsertElementAfter(string prefix, string localName, string namespaceURI, string value);
abstract member InsertElementAfter : string * string * string * string -> unit
override this.InsertElementAfter : string * string * string * string -> unit
Public Overridable Sub InsertElementAfter (prefix As String, localName As String, namespaceURI As String, value As String)
Параметры
- prefix
- String
Префикс пространства имен нового дочернего элемента (если таковой есть).
- localName
- String
Локальное имя нового дочернего элемента (при наличии).
- namespaceURI
- String
URI пространства имен нового дочернего элемента (если таковой имеется).
Empty и null эквивалентны.
- value
- String
Значение нового дочернего элемента. Если Empty или null передается, создается пустой элемент.
Исключения
Позиция этого XPathNavigator узла не позволяет вставлять новый одноуровневый узел после текущего узла.
Не поддерживает редактирование XPathNavigator .
Примеры
В следующем примере новый pages элемент вставляется после price дочернего элемента первого book элемента в contosoBooks.xml файле.
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.InsertElementAfter(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");
navigator.MoveToParent();
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.InsertElementAfter(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")
navigator.MoveToParent()
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>
Комментарии
Значения префикса пространства имен и URI можно получить с помощью LookupPrefix метода или LookupNamespace метода. Например, следующий синтаксис вставляет элемент с братом с помощью пространства xmlns:bk="http://www.contoso.com/books"имен в области:
navigator.InsertElementAfter(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
При этом создается новый элемент одноуровневого уровня <bk:pages/> .
Ниже приведены важные заметки, которые следует учитывать при использовании InsertElementAfter метода.
Если указан
nullпрефикс пространства имен или String.Empty, то префикс для URI пространства имен нового элемента получается из текущих пространств имен в области. Если префикс пространства имен не назначен указанному URI пространства имен в текущей области, то префикс пространства имен создается автоматически.Метод InsertElementAfter действителен только в том случае, если XPathNavigator он расположен на элементе, тексте, инструкции обработки или узле комментариев.
Метод InsertElementAfter не влияет на положение XPathNavigatorобъекта.