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объекта .