语言

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 文档中的 title 元素。

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 基类的方法。

适用于

另请参阅