XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) XmlNode.ReplaceChild(XmlNode, XmlNode) Method

Definizione

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

Parametri

newChild
XmlNode XmlNode XmlNode XmlNode

Nuovo nodo da inserire nell'elenco dei nodi figlio.The new node to put in the child list.

oldChild
XmlNode XmlNode XmlNode XmlNode

Nodo da sostituire nell'elenco.The node being replaced in the list.

Restituisce

Nodo sostituito.The node replaced.

Eccezioni

Per questo tipo di nodi non sono consentiti elementi figlio di tipo newChild.This node is of a type that does not allow child nodes of the type of the newChild node.

newChild è un predecessore di questo nodo.The newChild is an ancestor of this node.

Il nodo newChild è stato creato da un documento diverso da quello che ha creato il nodo corrente.The newChild was created from a different document than the one that created this node.

Il nodo è di sola lettura.This node is read-only.

oldChild non è un nodo figlio del nodo correnteThe oldChild is not a child of this node.

Esempi

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

Commenti

Se l' newChild oggetto è già presente nell'albero, viene prima rimosso.If the newChild is already in the tree, it is first removed.

Se è stato creato da un altro documento, è possibile XmlDocument.ImportNode usare per importare il nodo nel documento corrente. newChildIf the newChild was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. Il nodo importato può quindi essere passato ReplaceChild al metodo.The imported node can then be passed to the ReplaceChild method.

Note per gli eredi

Quando si esegue ReplaceChild l'override in una classe derivata, per consentire la generazione corretta degli eventi, è necessario chiamare ReplaceChild il metodo della classe di base.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.

Si applica a

Vedi anche