Condividi tramite


XmlNode.InsertAfter(XmlNode, XmlNode) Metodo

Definizione

Inserisce il nodo specificato immediatamente dopo il nodo dei riferimenti indicato.

public:
 virtual System::Xml::XmlNode ^ InsertAfter(System::Xml::XmlNode ^ newChild, System::Xml::XmlNode ^ refChild);
public virtual System.Xml.XmlNode InsertAfter (System.Xml.XmlNode newChild, System.Xml.XmlNode refChild);
public virtual System.Xml.XmlNode? InsertAfter (System.Xml.XmlNode newChild, System.Xml.XmlNode? refChild);
abstract member InsertAfter : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
override this.InsertAfter : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function InsertAfter (newChild As XmlNode, refChild As XmlNode) As XmlNode

Parametri

newChild
XmlNode

Nodo da inserire.

refChild
XmlNode

Nodo di riferimento. newChild è posizionato dopo refChild.

Restituisce

Nodo da inserire.

Eccezioni

Per questo tipo di nodi non sono consentiti elementi 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->InsertAfter( 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.InsertAfter(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.InsertAfter(elem, root.FirstChild)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub
End Class

Commenti

Se refChild è null, inserire newChild all'inizio dell'elenco di nodi figlio. Tutti i contenuti di newChild vengono inseriti, nello stesso ordine, dopo refChild. 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.

Questo metodo è un'estensione Microsoft al dom (Document Object Model).

Note per gli eredi

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

Si applica a

Vedi anche