Freigeben über


XmlNode.ReplaceChild-Methode

Ersetzt den untergeordneten Knoten oldChild durch den newChild-Knoten.

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Overridable Function ReplaceChild ( _
    newChild As XmlNode, _
    oldChild As XmlNode _
) As XmlNode
'Usage
Dim instance As XmlNode
Dim newChild As XmlNode
Dim oldChild As XmlNode
Dim returnValue As XmlNode

returnValue = instance.ReplaceChild(newChild, oldChild)
public virtual XmlNode ReplaceChild (
    XmlNode newChild,
    XmlNode oldChild
)
public:
virtual XmlNode^ ReplaceChild (
    XmlNode^ newChild, 
    XmlNode^ oldChild
)
public XmlNode ReplaceChild (
    XmlNode newChild, 
    XmlNode oldChild
)
public function ReplaceChild (
    newChild : XmlNode, 
    oldChild : XmlNode
) : XmlNode

Parameter

  • newChild
    Der neue Knoten, der in die Liste der untergeordneten Elemente eingefügt werden soll.
  • oldChild
    Der Knoten, der in der Liste ersetzt wird.

Rückgabewert

Der ersetzte Knoten.

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Der Typ dieses Knotens lässt keine untergeordneten Knoten vom Typ des newChild-Knotens zu.

newChild ist eine frühere Version dieses Knotens.

ArgumentException

newChild wurde nicht aus dem Dokument erstellt, aus dem dieser Knoten erstellt wurde.

Dieser Knoten ist schreibgeschützt.

oldChild ist kein untergeordnetes Element dieses Knotens.

Hinweise

Wenn newChild bereits in der Struktur vorhanden ist, wird es zunächst entfernt.

Wenn newChild aus einem anderen Dokument stammt, kann XmlDocument.ImportNode verwendet werden, um den Knoten in das aktuelle Dokument zu importieren. Der importierte Knoten kann anschließend an die ReplaceChild-Methode übergeben werden.

Hinweise für Erben Um Ereignisse ordnungsgemäß auslösen zu können, müssen Sie beim Überschreiben von ReplaceChild in einer abgeleiteten Klasse die ReplaceChild-Methode der Basisklasse aufrufen.

Beispiel

Im folgenden Beispiel wird das Titelelement im XML-Dokument ersetzt.

Imports System
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
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);

  }
}
#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 );
}
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[] args)
    {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>"
            + "<title>Pride And Prejudice</title>"
            + "</book>");

        XmlNode root = doc.get_DocumentElement();

        //Create a new title element.
        XmlElement elem = doc.CreateElement("title");
        elem.set_InnerText("The Handmaid's Tale");

        //Replace the title element.
        root.ReplaceChild(elem, root.get_FirstChild());

        Console.WriteLine("Display the modified XML...");
        doc.Save(Console.get_Out());
    } //main 
} //Sample

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlNode-Klasse
XmlNode-Member
System.Xml-Namespace
XmlDocument.ImportNode