XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) Method

定義

子ノード oldChildnewChild ノードに置き換えます。Replaces the child node oldChild with newChild node.

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 XmlNode XmlNode XmlNode

子リストに入れる新しいノード。The new node to put in the child list.

oldChild
XmlNode XmlNode XmlNode XmlNode

リスト内の置換されるノード。The node being replaced in the list.

戻り値

置き換えられたノード。The node replaced.

例外

このノードは、newChild ノードの型の子ノードが許可されない型です。This node is of a type that does not allow child nodes of the type of the newChild node.

newChild がこのノードの先祖です。The newChild is an ancestor of this node.

newChild は、このノードを作成したドキュメントとは異なるドキュメントから作成されました。The newChild was created from a different document than the one that created this node.

このノードは読み取り専用です。This node is read-only.

oldChild がこのノードの子ではありません。The oldChild is not a child of this node.

次の例では、XML ドキュメント内の title 要素を置き換えます。The following example replaces the title element in the XML document.

#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 'Main 
End Class 'Sample

注釈

がツリー newChild内に既に存在する場合は、最初に削除されます。If the newChild is already in the tree, it is first removed.

が別newChildのドキュメントから作成されている場合XmlDocument.ImportNodeは、を使用して、現在のドキュメントにノードをインポートできます。If the newChild was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. その後、インポートされたノードをReplaceChildメソッドに渡すことができます。The imported node can then be passed to the ReplaceChild method.

注意 (継承者)

派生クラスReplaceChildでをオーバーライドする場合、イベントが正しく発生するためには、基本クラスのReplaceChildメソッドを呼び出す必要があります。When overriding ReplaceChild in a derived class, in order for events to be raised correctly, you must call the ReplaceChild method of the base class.

適用対象

こちらもご覧ください