XmlNode.InsertBefore(XmlNode, XmlNode) XmlNode.InsertBefore(XmlNode, XmlNode) XmlNode.InsertBefore(XmlNode, XmlNode) XmlNode.InsertBefore(XmlNode, XmlNode) Method

Definición

Inserta el nodo especificado inmediatamente antes del nodo de referencia igualmente especificado.Inserts the specified node immediately before the specified reference node.

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

Parámetros

newChild
XmlNode XmlNode XmlNode XmlNode

Nodo que se va a insertar.The node to insert.

refChild
XmlNode XmlNode XmlNode XmlNode

Nodo de referencia.The reference node. newChild se coloca delante de este nodo.newChild is placed before this node.

Devoluciones

Nodo que se va a insertar.The node being inserted.

Excepciones

El nodo actual es de un tipo que no permite nodos secundarios del tipo del nodo newChild.The current node is of a type that does not allow child nodes of the type of the newChild node.

newChild es un nodo antecesor de este nodo.The newChild is an ancestor of this node.

newChild se creó a partir de un documento diferente del que creó este nodo.The newChild was created from a different document than the one that created this node.

refChild no es un nodo secundario de este nodo.The refChild is not a child of this node.

Este nodo es de sólo lectura.This node is read-only.

Ejemplos

En el siguiente ejemplo se agrega un nuevo nodo al documento XML.The following example adds a new node to the XML document.

#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

Comentarios

Si refChild es null, inserte @no__t 2 al final de la lista de nodos secundarios.If refChild is null, insert newChild at the end of the list of child nodes. Se inserta todo el contenido del newChild, en el mismo orden, antes de refChild.All the contents of the newChild are inserted, in the same order, before refChild. Si el newChild ya está en el árbol, se quita de su posición original y se agrega a su posición de destino.If the newChild is already in the tree, it is removed from its original position and added to its target position. Para obtener más información acerca de la inserción de nodos, consulte Insertar nodos en un documento XML.For more information about inserting nodes, see Inserting Nodes into an XML Document.

Si el nodo que se va a insertar se creó a partir de otro documento, puede utilizar XmlDocument.ImportNode para importar el nodo en el documento actual.If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. A continuación, se puede insertar el nodo importado en el documento actual.The imported node can then be inserted into the current document.

Notas a los desarrolladores de herederos

Al reemplazar InsertBefore en una clase derivada, para que los eventos se desencadenen correctamente, debe llamar al método InsertBefore de la clase base.When overriding InsertBefore in a derived class, in order for events to be raised correctly, you must call the InsertBefore method of the base class.

Se aplica a

Consulte también: