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