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


XmlNode.AppendChild(XmlNode) Метод

Определение

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

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

Параметры

newChild
XmlNode

Добавляемый узел. Все содержимое узла, которое должно быть добавлено, перемещается в указанное расположение.

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

Добавленный узел.

Исключения

Данный узел относится к типу, который не допускает дочерних узлов типа newChild.

Узел newChild является предком данного узла.

Узел newChild был создан из другого документа, отличного от документа, из которого был создан этот узел.

Этот узел доступен только для чтения.

Примеры

В следующем примере новый узел добавляется в XML-документ.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<book genre='novel' ISBN='1-861001-57-5'>"
   "<title>Pride And Prejudice</title>"
   "</book>" );
   XmlNode^ root = doc->DocumentElement;
   
   //Create a new node.
   XmlElement^ elem = doc->CreateElement( "price" );
   elem->InnerText = "19.95";
   
   //Add the node to the document.
   root->AppendChild( elem );
   Console::WriteLine( "Display the modified XML..." );
   doc->Save( Console::Out );
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +
                "</book>");

    XmlNode root = doc.DocumentElement;

    //Create a new node.
    XmlElement elem = doc.CreateElement("price");
    elem.InnerText="19.95";

    //Add the node to the document.
    root.AppendChild(elem);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        
        Dim doc As New XmlDocument()
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _
                    "<title>Pride And Prejudice</title>" & _
                    "</book>")
        
        Dim root As XmlNode = doc.DocumentElement
        
        'Create a new node.
        Dim elem As XmlElement = doc.CreateElement("price")
        elem.InnerText = "19.95"
        
        'Add the node to the document.
        root.AppendChild(elem)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub
End Class

Выходные данные:

Display the modified XML...
<?xml version="1.0" encoding="IBM437"?>
<book genre="novel" ISBN="1-861001-57-5">
  <title>Pride And Prejudice</title>
  <price>19.95</price>

Комментарии

Если объект newChild уже находится в дереве, он удаляется из исходного положения и добавляется в целевую позицию. Дополнительные сведения о вставке узлов см. в разделе Вставка узлов в XML-документ.

Если вставляемый узел был создан из другого документа, можно использовать для XmlDocument.ImportNode импорта узла в текущий документ. Затем импортированный узел можно вставить в текущий документ.

Примечания для тех, кто наследует этот метод

При переопределении AppendChild в производном классе для правильного вызова событий необходимо вызвать AppendChild метод базового класса.

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

См. также раздел