다음을 통해 공유


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

목록에서 대체할 노드입니다.

반환

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 호출해야 합니다.

적용 대상

추가 정보