Condividi tramite


XmlNode.ReplaceChild(XmlNode, XmlNode) Metodo

Definizione

Sostituisce il nodo figlio oldChild con il nodo 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

Parametri

newChild
XmlNode

Nuovo nodo da inserire nell'elenco dei nodi figlio.

oldChild
XmlNode

Nodo da sostituire nell'elenco.

Restituisce

XmlNode

Nodo sostituito.

Eccezioni

Per questo tipo di nodi non sono consentiti elementi figlio di tipo newChild.

newChild è un predecessore di questo nodo.

Il nodo newChild è stato creato da un documento diverso da quello che ha creato il nodo corrente.

Il nodo è di sola lettura.

oldChild non è un nodo figlio del nodo corrente

Esempio

Nell'esempio seguente viene sostituito l'elemento title nel documento 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

Commenti

Se l'oggetto newChild è già presente nell'albero, viene prima rimosso.

Se è newChild stato creato da un altro documento, è possibile usare XmlDocument.ImportNode per importare il nodo nel documento corrente. Il nodo importato può quindi essere passato al ReplaceChild metodo .

Note per gli eredi

Quando si esegue l'override ReplaceChild in una classe derivata, affinché gli eventi vengano generati correttamente, è necessario chiamare il ReplaceChild metodo della classe base.

Si applica a

Vedi anche