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

정의

oldChild 자식 노드를 newChild 노드로 대체합니다.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 문서의 제목 요소를 바꿉니다.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.

적용 대상

추가 정보