XmlNode.ReplaceChild(XmlNode, XmlNode) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Replaces the child node oldChild
with newChild
node.
public:
virtual System::Xml::XmlNode ^ ReplaceChild(System::Xml::XmlNode ^ newChild, System::Xml::XmlNode ^ oldChild);
public virtual System.Xml.XmlNode ReplaceChild (System.Xml.XmlNode newChild, System.Xml.XmlNode oldChild);
abstract member ReplaceChild : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
override this.ReplaceChild : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function ReplaceChild (newChild As XmlNode, oldChild As XmlNode) As XmlNode
Parameters
- newChild
- XmlNode
The new node to put in the child list.
- oldChild
- XmlNode
The node being replaced in the list.
Returns
The node replaced.
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.
The oldChild
is not a child of this node.
Examples
The following example replaces the title element in 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 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 );
}
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);
}
}
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
End Class
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 raised correctly, you must call the ReplaceChild
method of the base class.