XmlNode.ReplaceChild(XmlNode, XmlNode) Methode

Definition

Ersetzt den untergeordneten oldChild-Knoten durch den newChild-Knoten.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

Parameter

newChild
XmlNode

Der neue Knoten, der in die Liste der untergeordneten Elemente eingefügt werden soll.The new node to put in the child list.

oldChild
XmlNode

Der Knoten, der in der Liste ersetzt wird.The node being replaced in the list.

Gibt zurück

Der ersetzte Knoten.The node replaced.

Ausnahmen

Der Typ dieses Knotens lässt keine untergeordneten Knoten vom Typ des newChild-Knotens zu.This node is of a type that does not allow child nodes of the type of the newChild node.

newChild ist eine frühere Version dieses Knotens.The newChild is an ancestor of this node.

newChild wurde nicht aus dem Dokument erstellt, aus dem dieser Knoten erstellt wurde.The newChild was created from a different document than the one that created this node.

Dieser Knoten ist schreibgeschützt.This node is read-only.

oldChild ist kein untergeordnetes Element dieses Knotens.The oldChild is not a child of this node.

Beispiele

Im folgenden Beispiel wird das Title-Element im XML-Dokument ersetzt.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
End Class

Hinweise

Wenn sich die newChild bereits in der Struktur befindet, wird Sie zuerst entfernt.If the newChild is already in the tree, it is first removed.

Wenn die newChild aus einem anderen Dokument erstellt wurde, können Sie XmlDocument.ImportNode verwenden, um den Knoten in das aktuelle Dokument zu importieren.If the newChild was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. Der importierte Knoten kann dann an die ReplaceChild-Methode weitergegeben werden.The imported node can then be passed to the ReplaceChild method.

Hinweise für Vererber

Wenn Sie ReplaceChild in einer abgeleiteten Klasse überschreiben, müssen Sie die ReplaceChild-Methode der Basisklasse aufzurufen, damit Ereignisse ordnungsgemäß ausgelöst werden.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.

Gilt für:

Siehe auch