Partager via


XmlNode.InsertBefore(XmlNode, XmlNode) Méthode

Définition

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

XmlNode

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.

S’applique à

Voir aussi