Comparteix a través de


XmlNode.InsertAfter(XmlNode, XmlNode) Método

Definición

Inserta el nodo especificado inmediatamente detrás del nodo de referencia igualmente especificado.

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

Parámetros

newChild
XmlNode

Nodo que se va a insertar.

refChild
XmlNode

Nodo de referencia. Parámetro newChild se coloca detrás de refChild.

Devoluciones

Nodo que se va a insertar.

Excepciones

Este nodo es de un tipo que no permite nodos secundarios del tipo del nodo newChild.

newChild es un nodo antecesor de este nodo.

newChild se creó a partir de un documento diferente del que creó este nodo.

refChild no es un nodo secundario de este nodo.

Este nodo es de sólo lectura.

Ejemplos

En el ejemplo siguiente se agrega un nuevo 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

Comentarios

Si refChild es null, inserte newChild al principio de la lista de nodos secundarios. Todos los contenidos de newChild se insertan, en el mismo orden, después refChildde . Si el ya newChild está en el árbol, se quita de su posición original y se agrega a su posición de destino. Para obtener más información sobre cómo insertar nodos, vea Insertar nodos en un documento XML.

Si el nodo que se va a insertar se creó a partir de otro documento, puede usar XmlDocument.ImportNode para importar el nodo al documento actual. A continuación, el nodo importado se puede insertar en el documento actual.

Este método es una extensión Microsoft al Modelo de objetos de documento (DOM).

Notas a los desarrolladores de herederos

Al invalidar InsertAfter en una clase derivada, para que los eventos se generen correctamente, debe llamar al InsertAfter método de la clase base.

Se aplica a

Consulte también