Condividi tramite


XmlNode.InsertBefore(XmlNode, XmlNode) Metodo

Definizione

Inserisce il nodo specificato immediatamente prima del nodo dei riferimenti indicato.

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

Parametri

newChild
XmlNode

Nodo da inserire.

refChild
XmlNode

Nodo di riferimento. newChild è posizionato prima di questo nodo.

Restituisce

Nodo da inserire.

Eccezioni

Per questo tipo di nodo non sono consentiti nodi figlio di tipo newChild.

newChild è un predecessore di questo nodo.

Il nodo newChild è stato creato da un documento diverso da quello che ha creato il nodo corrente.

refChild non è un nodo figlio del nodo corrente

Il nodo è di sola lettura.

Esempio

Nell'esempio seguente viene aggiunto un nuovo nodo al documento 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

Commenti

Se refChild è null, inserire newChild alla fine dell'elenco dei nodi figlio. Tutti i contenuti di vengono inseriti, nello stesso ordine, prima refChilddi newChild . Se l'oggetto newChild è già presente nell'albero, viene rimosso dalla posizione originale e aggiunto alla posizione di destinazione. Per altre informazioni sull'inserimento di nodi, vedere Inserimento di nodi in un documento XML.

Se il nodo da inserire è stato creato da un altro documento, è possibile usare XmlDocument.ImportNode per importare il nodo nel documento corrente. Il nodo importato può quindi essere inserito nel documento corrente.

Note per gli eredi

Quando si esegue l'override InsertBefore in una classe derivata, affinché gli eventi vengano generati correttamente, è necessario chiamare il InsertBefore metodo della classe base.

Si applica a

Vedi anche