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