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

适用于

另请参阅