XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) Method


將子節點 oldChildnewChild 節點取代。Replaces the child node oldChild with newChild node.

 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


XmlNode XmlNode XmlNode XmlNode

要放入子節點清單中的新節點。The new node to put in the child list.

XmlNode XmlNode XmlNode XmlNode

清單中要被取代的節點。The node being replaced in the list.


被取代的節點。The node replaced.


這個節點的型別不允許 newChild 節點型別的子節點。This node is of a type that does not allow child nodes of the type of the newChild node.

newChild 是這個節點的上階。The newChild is an ancestor of this node.

newChild 由不同於建立這個節點的另一份文件所建立。The newChild was created from a different document than the one that created this node.

這個節點是唯讀的。This node is read-only.

oldChild 不是這個節點的子節點。The oldChild is not a child of this node.


下列範例會取代 XML 檔中的 title 元素。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>" +

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

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>" & _
        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...")
    End Sub
End Class


newChild如果已經在樹狀結構中,則會先將它移除。If the newChild is already in the tree, it is first removed.

如果是newChild從另一份檔建立的,您XmlDocument.ImportNode可以使用將節點匯入到目前的檔。If the newChild was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. 然後,可以將匯入的節點傳遞ReplaceChild至方法。The imported node can then be passed to the ReplaceChild method.


在衍生ReplaceChild類別中覆寫時,為了讓事件正確引發,您必須ReplaceChild呼叫基類的方法。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.