XmlNode.InsertBefore(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.
Insère le nœud spécifié immédiatement avant le nœud de référence spécifié.
public:
virtual System::Xml::XmlNode ^ InsertBefore(System::Xml::XmlNode ^ newChild, System::Xml::XmlNode ^ refChild);
public virtual System.Xml.XmlNode InsertBefore (System.Xml.XmlNode newChild, System.Xml.XmlNode refChild);
public virtual System.Xml.XmlNode? InsertBefore (System.Xml.XmlNode newChild, System.Xml.XmlNode? refChild);
abstract member InsertBefore : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
override this.InsertBefore : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function InsertBefore (newChild As XmlNode, refChild As XmlNode) As XmlNode
Paramètres
- newChild
- XmlNode
Le nœud à insérer.
- refChild
- XmlNode
Le nœud de référence. newChild
est placé avant ce nœud.
Retours
Nœud inséré.
Exceptions
Le type du nœud actuel 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.
refChild
n'est pas un enfant de ce nœud.
Ce nœud est en lecture seule.
Exemples
L’exemple suivant ajoute un nouveau nœud au 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 node.
XmlElement^ elem = doc->CreateElement( "price" );
elem->InnerText = "19.95";
//Add the node to the document.
root->InsertBefore( 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 node.
XmlElement elem = doc.CreateElement("price");
elem.InnerText="19.95";
//Add the node to the document.
root.InsertBefore(elem, root.FirstChild);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
Option Strict
Option Explicit
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 node.
Dim elem As XmlElement = doc.CreateElement("price")
elem.InnerText = "19.95"
'Add the node to the document.
root.InsertBefore(elem, root.FirstChild)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
Remarques
Si refChild
c’est le cas null
, insérez newChild
à la fin de la liste des nœuds enfants. Tout le contenu du fichier newChild
est inséré, dans le même ordre, avant refChild
. Si le contenu newChild
se trouve déjà dans l’arborescence, il est supprimé de sa position d’origine et ajouté à sa position cible. Pour plus d’informations sur l’insertion de nœuds, consultez Insertion de nœuds dans un document XML.
Si le nœud inséré 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 inséré dans le document actif.
Notes pour les héritiers
En cas de InsertBefore
substitution dans une classe dérivée, pour que les événements soient déclenchés correctement, vous devez appeler la InsertBefore
méthode de la classe de base.