XPathNavigator.AppendChildElement(String, String, String, String) Метод

Определение

Создает новый элемент дочернего узла в конце списка дочерних узлов текущего узла, используя заданный префикс пространства имен, локальное имя, URI пространства имен и указанное значение.

public:
 virtual void AppendChildElement(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void AppendChildElement (string prefix, string localName, string namespaceURI, string value);
public virtual void AppendChildElement (string? prefix, string localName, string? namespaceURI, string? value);
abstract member AppendChildElement : string * string * string * string -> unit
override this.AppendChildElement : string * string * string * string -> unit
Public Overridable Sub AppendChildElement (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->AppendChildElement(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.AppendChildElement(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.AppendChildElement(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.AppendChildElement(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)  

При этом создается новый дочерний <bk:pages/> элемент.

Ниже приведены важные примечания, которые следует учитывать при использовании AppendChildElement метода .

  • Если указанный префикс пространства имен имеет значение null или String.Empty, то префикс для URI пространства имен нового элемента получается из текущих пространств имен в область. Если для указанного URI пространства имен на текущем область не назначен префикс пространства имен, то префикс пространства имен создается автоматически.

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

  • Метод AppendChildElement не влияет на положение XPathNavigatorобъекта .

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