Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ReplaceChild Method

XmlNode.ReplaceChild Method

Replaces the child node oldChild with newChild node.

[Visual Basic]
Public Overridable Function ReplaceChild( _
   ByVal newChild As XmlNode, _
   ByVal oldChild As XmlNode _
) As XmlNode
[C#]
public virtual XmlNode ReplaceChild(
 XmlNode newChild,
 XmlNode oldChild
);
[C++]
public: virtual XmlNode* ReplaceChild(
 XmlNode* newChild,
 XmlNode* oldChild
);
[JScript]
public function ReplaceChild(
   newChild : XmlNode,
 oldChild : XmlNode
) : XmlNode;

Parameters

newChild
The new node to put in the child list.
oldChild
The node being replaced in the list.

Return Value

The node replaced.

Exceptions

Exception Type Condition
InvalidOperationException 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.

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

This node is read-only.

The oldChild is not a child of this node.

Remarks

If the newChild is already in the tree, it is first removed.

If the newChild was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. The imported node can then be passed to the ReplaceChild method.

Notes to Inheritors:  When overriding ReplaceChild in a derived class, in order for events to be fired correctly, you must call the ReplaceChild method of the base class.

Example

[Visual Basic, C#, C++] The following example replaces the title element in the XML document.

[Visual Basic] 
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 title element.
        Dim elem As XmlElement = doc.CreateElement("title")
        elem.InnerText = "The Handmaid's Tale"
        
        'Replace the title element.
        root.ReplaceChild(elem, root.FirstChild)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub 'Main 
End Class 'Sample

[C#] 
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 title element.
    XmlElement elem = doc.CreateElement("title");
    elem.InnerText="The Handmaid's Tale";

    //Replace the title element.
    root.ReplaceChild(elem, root.FirstChild);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);

  }
}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
{
    XmlDocument* doc = new XmlDocument();
    doc->LoadXml(S"<book genre='novel' ISBN='1-861001-57-5'>" 
                 S"<title>Pride And Prejudice</title>" 
                 S"</book>");

    XmlNode* root = doc->DocumentElement;

    //Create a new title element.
    XmlElement* elem = doc->CreateElement(S"title");
    elem->InnerText=S"The Handmaid's Tale";

    //Replace the title element.
    root->ReplaceChild(elem, root->FirstChild);

    Console::WriteLine(S"Display the modified XML...");
    doc->Save(Console::Out);
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

XmlNode Class | XmlNode Members | System.Xml Namespace | XmlDocument.ImportNode

Show:
© 2015 Microsoft