XmlNode.ReplaceChild(XmlNode, XmlNode) 方法

定義

將子節點 oldChild 替換為 newChild 節點。

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

參數

newChild
XmlNode

新節點要放進子清單。

oldChild
XmlNode

節點被替換在列表中。

傳回

節點被替換了。

例外狀況

此節點的類型不允許該節點 newChild 的子節點存在。

newChild 這個節點的祖先。

這個 newChild 節點是從另一個文件建立的,而不是建立這個節點的那個。

此節點為唯讀。

oldChild 不是這個節點的子節點。

範例

以下範例取代了 XML 文件中的標題元素。

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

備註

如果 已經 newChild 在樹中,則會先移除它。

如果是從另一個文件建立的, newChild 你可以用 XmlDocument.ImportNode 來匯入該節點到目前的文件。 匯入的節點接著可以傳給該 ReplaceChild 方法。

給繼承者的注意事項

在導出類別中覆 ReplaceChild 寫時,為了正確引發事件,必須呼叫 ReplaceChild 基底類別的方法。

適用於

另請參閱