Language

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 メソッドを呼び出す必要があります。

適用対象

こちらもご覧ください