XmlNode.ReplaceChild(XmlNode, XmlNode) メソッド

定義

子ノード oldChildnewChild ノードに置き換えます。

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

リスト内の置換されるノード。

戻り値

XmlNode

置き換えられたノード。

例外

このノードは、newChild ノードの型の子ノードが許可されない型です。

newChild がこのノードの先祖です。

newChild は、このノードを作成したドキュメントとは異なるドキュメントから作成されました。

このノードは読み取り専用です。

oldChild がこのノードの子ではありません。

次の使用例は、XML ドキュメントのタイトル要素を置き換えます。

#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>" +
                "</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 呼び出す必要があります。

適用対象

こちらもご覧ください