XmlNode.AppendChild(XmlNode) XmlNode.AppendChild(XmlNode) XmlNode.AppendChild(XmlNode) XmlNode.AppendChild(XmlNode) Method

Definition

Adds the specified node to the end of the list of child nodes, of this node.

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
Parameters
newChild
XmlNode XmlNode XmlNode XmlNode

The node to add. All the contents of the node to be added are moved into the specified location.

Returns

The node added.

Exceptions

This node is of a type that does not allow child nodes of the type of the newChild node.

The newChild is an ancestor of this node.

The newChild was created from a different document than the one that created this node.

This node is read-only.

Examples

The following example adds a new node to the XML document.

#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
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 'Main 
End Class 'Sample

Output:

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>  

Remarks

If the newChild is already in the tree, it is removed from its original position and added to its target position. For more information about inserting nodes, see Inserting Nodes into an XML Document.

If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. The imported node can then be inserted into the current document.

Notes to Inheritors

When overriding AppendChild in a derived class, in order for events to be raised correctly, you must call the AppendChild method of the base class.

Applies to

See Also