XmlNode.ReplaceChild(XmlNode, XmlNode) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.