Поделиться через


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

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