Partager via


XmlNode.ReplaceChild(XmlNode, XmlNode) Méthode

Définition

Remplace le nœud enfant oldChild par le nœud 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

Paramètres

newChild
XmlNode

Nouveau nœud à insérer dans la liste enfant.

oldChild
XmlNode

Nœud remplacé dans la liste.

Retours

XmlNode

Nœud remplacé.

Exceptions

Le type de ce nœud n'autorise pas les nœuds enfants possédant le type de nœud newChild.

newChild est un ancêtre de ce nœud.

newChild a été créé à partir d'un document différent de celui qui a créé ce nœud.

Ce nœud est en lecture seule.

oldChild n'est pas un enfant de ce nœud.

Exemples

L’exemple suivant remplace l’élément de titre dans le document 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

Remarques

Si le contenu newChild est déjà dans l’arborescence, il est d’abord supprimé.

Si le newChild document a été créé à partir d’un autre document, vous pouvez l’utiliser XmlDocument.ImportNode pour importer le nœud dans le document actif. Le nœud importé peut ensuite être passé à la ReplaceChild méthode.

Notes pour les héritiers

En cas de ReplaceChild substitution dans une classe dérivée, pour que les événements soient déclenchés correctement, vous devez appeler la ReplaceChild méthode de la classe de base.

S’applique à

Voir aussi