XPathNavigator.AppendChild Метод

Определение

Создает новый дочерний узел в конце списка дочерних узлов текущего узла.

Перегрузки

Имя Описание
AppendChild()

Возвращает объект, используемый XmlWriter для создания одного или нескольких дочерних узлов в конце списка дочерних узлов текущего узла.

AppendChild(String)

Создает новый дочерний узел в конце списка дочерних узлов текущего узла с помощью указанной строки данных XML.

AppendChild(XmlReader)

Создает новый дочерний узел в конце списка дочерних узлов текущего узла с использованием XML-содержимого указанного XmlReader объекта.

AppendChild(XPathNavigator)

Создает новый дочерний узел в конце списка дочерних узлов текущего узла с помощью указанных XPathNavigator узлов.

AppendChild()

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Возвращает объект, используемый XmlWriter для создания одного или нескольких дочерних узлов в конце списка дочерних узлов текущего узла.

public:
 virtual System::Xml::XmlWriter ^ AppendChild();
public virtual System.Xml.XmlWriter AppendChild();
abstract member AppendChild : unit -> System.Xml.XmlWriter
override this.AppendChild : unit -> System.Xml.XmlWriter
Public Overridable Function AppendChild () As XmlWriter

Возвращаемое значение

Объект XmlWriter , используемый для создания новых дочерних узлов в конце списка дочерних узлов текущего узла.

Исключения

Текущий узел, на который расположен, не является корневым узлом XPathNavigator или узлом элемента.

Не поддерживает редактирование XPathNavigator .

Примеры

В следующем примере новый pages дочерний элемент добавляется в список дочерних элементов первого book элемента в contosoBooks.xml файле с помощью XmlWriter объекта, возвращаемого методом AppendChild .

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");

XmlWriter pages = navigator.AppendChild();
pages.WriteElementString("pages", "100");
pages.Close();

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")

Dim pages As XmlWriter = navigator.AppendChild()
pages.WriteElementString("pages", "100")
pages.Close()

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>

Комментарии

Добавление дочерних узлов добавляет новые узлы в конец списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, первый добавленный узел становится четвертым дочерним узлом. Если дочерние узлы отсутствуют, создается новый дочерний узел.

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

  • Новый дочерний узел не вставляется до Close вызова метода XmlWriter объекта.

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

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

Вы можете записать несколько узлов в модуль записи. Все узлы добавляются в конец списка дочерних узлов текущего узла.

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

AppendChild(String)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Создает новый дочерний узел в конце списка дочерних узлов текущего узла с помощью указанной строки данных XML.

public:
 virtual void AppendChild(System::String ^ newChild);
public virtual void AppendChild(string newChild);
abstract member AppendChild : string -> unit
override this.AppendChild : string -> unit
Public Overridable Sub AppendChild (newChild As String)

Параметры

newChild
String

Строка данных XML для нового дочернего узла.

Исключения

Параметр строки данных XML имеет значение null.

Текущий узел, на который расположен, не является корневым узлом XPathNavigator или узлом элемента.

Не поддерживает редактирование XPathNavigator .

Параметр строки xml-данных не является хорошо сформированным.

Примеры

В следующем примере новый 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.AppendChild("<pages>100</pages>");

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.AppendChild("<pages>100</pages>")

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>

Комментарии

Добавление дочернего узла добавляет новый узел в конец списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, добавленный узел становится четвертым дочерним узлом. Если дочерние узлы отсутствуют, создается новый дочерний узел.

Чтобы создать новый узел элемента, добавьте весь синтаксис XML в параметр строки XML. Строка для нового book узла AppendChild("<book/>"). Строка для добавления текстовой книги к текстовому узлу текущего узла AppendChild("book"). Если XML-строка содержит несколько узлов, добавляются все узлы.

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

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

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

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

AppendChild(XmlReader)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Создает новый дочерний узел в конце списка дочерних узлов текущего узла с использованием XML-содержимого указанного XmlReader объекта.

public:
 virtual void AppendChild(System::Xml::XmlReader ^ newChild);
public virtual void AppendChild(System.Xml.XmlReader newChild);
abstract member AppendChild : System.Xml.XmlReader -> unit
override this.AppendChild : System.Xml.XmlReader -> unit
Public Overridable Sub AppendChild (newChild As XmlReader)

Параметры

newChild
XmlReader

XmlReader Объект, расположенный на XML-данных для нового дочернего узла.

Исключения

Объект XmlReader находится в состоянии ошибки или закрыт.

Параметр XmlReader объекта имеет значение null.

Текущий узел, на который расположен, не является корневым узлом XPathNavigator или узлом элемента.

Не поддерживает редактирование XPathNavigator .

Xml-содержимое XmlReader параметра объекта не является хорошо сформированным.

Примеры

В следующем примере новый pages дочерний элемент добавляется в список дочерних элементов первого book элемента в contosoBooks.xml файле с помощью указанного XmlReader объекта. Пространство http://www.contoso.com/books имен указывается таким образом, чтобы новый дочерний элемент был добавлен с помощью того же пространства имен, что и 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");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.AppendChild(pages);

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")

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.AppendChild(pages)

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>

Комментарии

Добавление дочернего узла добавляет новый узел в конец списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, добавленный узел становится четвертым дочерним узлом. Если дочерние узлы отсутствуют, создается новый дочерний узел.

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

  • XmlReader Если объект размещается по последовательности XML-узлов, добавляются все узлы в последовательности.

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

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

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

AppendChild(XPathNavigator)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Создает новый дочерний узел в конце списка дочерних узлов текущего узла с помощью указанных XPathNavigator узлов.

public:
 virtual void AppendChild(System::Xml::XPath::XPathNavigator ^ newChild);
public virtual void AppendChild(System.Xml.XPath.XPathNavigator newChild);
abstract member AppendChild : System.Xml.XPath.XPathNavigator -> unit
override this.AppendChild : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub AppendChild (newChild As XPathNavigator)

Параметры

newChild
XPathNavigator

XPathNavigator Объект, расположенный на узле, добавляемый в качестве нового дочернего узла.

Исключения

Параметр XPathNavigator объекта имеет значение null.

Текущий узел, на который расположен, не является корневым узлом XPathNavigator или узлом элемента.

Не поддерживает редактирование XPathNavigator .

Примеры

В следующем примере новый pages дочерний элемент добавляется в список дочерних элементов первого book элемента в contosoBooks.xml файле с помощью узла, содержащегося в указанном элементе XPathNavigator . Пространство http://www.contoso.com/books имен указывается таким образом, чтобы новый дочерний элемент был добавлен с помощью того же пространства имен, что и 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");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

if(childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator.AppendChild(childNodesNavigator);
}

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")

Dim childNodes As XmlDocument = New XmlDocument()

childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()

If childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books") Then
    navigator.AppendChild(childNodesNavigator)
End If

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>

Комментарии

Добавление дочернего узла добавляет новый узел в конец списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, добавленный узел становится четвертым дочерним узлом. Если дочерние узлы отсутствуют, создается новый дочерний узел.

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

  • XPathNavigator Если объект размещается по последовательности XML-узлов, добавляются все узлы в последовательности.

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

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

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