Udostępnij za pośrednictwem


XmlNode.ReplaceChild(XmlNode, XmlNode) Metoda

Definicja

Zastępuje węzeł podrzędny węzłem 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

Parametry

newChild
XmlNode

Nowy węzeł do umieszczenia na liście podrzędnej.

oldChild
XmlNode

Węzeł jest zastępowany na liście.

Zwraca

XmlNode

Węzeł został zastąpiony.

Wyjątki

Ten węzeł jest typu, który nie zezwala na węzły podrzędne typu węzła newChild .

Element newChild jest elementem nadrzędnym tego węzła.

Plik newChild został utworzony na podstawie innego dokumentu niż ten, który utworzył ten węzeł.

Ten węzeł jest tylko do odczytu.

Element oldChild nie jest elementem podrzędnym tego węzła.

Przykłady

Poniższy przykład zastępuje element tytułu w dokumencie 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

Uwagi

Jeśli element newChild znajduje się już w drzewie, zostanie on najpierw usunięty.

Jeśli element newChild został utworzony na podstawie innego dokumentu, możesz użyć XmlDocument.ImportNode polecenia , aby zaimportować węzeł do bieżącego dokumentu. Zaimportowany węzeł można następnie przekazać do ReplaceChild metody .

Uwagi dotyczące dziedziczenia

Podczas zastępowania ReplaceChild klasy pochodnej w celu poprawnego wywoływania zdarzeń należy wywołać metodę ReplaceChild klasy bazowej.

Dotyczy

Zobacz też