XmlNode.InsertBefore (Método)
Inserta el nodo especificado inmediatamente antes del nodo de referencia igualmente especificado.

Espacio de nombres: System.Xml
Ensamblado: System.Xml (en system.xml.dll)

Sintaxis

Visual Basic (Declaración)
Public Overridable Function InsertBefore ( _
    newChild As XmlNode, _
    refChild As XmlNode _
) As XmlNode
Visual Basic (Uso)
Dim instance As XmlNode
Dim newChild As XmlNode
Dim refChild As XmlNode
Dim returnValue As XmlNode

returnValue = instance.InsertBefore(newChild, refChild)
C#
public virtual XmlNode InsertBefore (
    XmlNode newChild,
    XmlNode refChild
)
C++
public:
virtual XmlNode^ InsertBefore (
    XmlNode^ newChild, 
    XmlNode^ refChild
)
J#
public XmlNode InsertBefore (
    XmlNode newChild, 
    XmlNode refChild
)
JScript
public function InsertBefore (
    newChild : XmlNode, 
    refChild : XmlNode
) : XmlNode
XAML
No aplicable.

Parámetros

newChild

XmlNode que se va a insertar.

refChild

XmlNode que es el nodo de referencia. newChild se coloca delante de este nodo.

Valor devuelto

Nodo que se va a insertar.
Excepciones

Tipo de excepciónCondición

InvalidOperationException

El nodo actual es de un tipo que no admite nodos secundarios del tipo del nodo newChild.

newChild es un nodo primario de este nodo.

ArgumentException

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.

Comentarios

Si refChild es referencia null (Nothing en Visual Basic), inserte newChild al final de la lista de nodos secundarios. Si newChild es un objeto XmlDocumentFragment, sus elementos secundarios se insertan, en el mismo orden, delante de refChild. Si newChild ya está en el árbol, primero se quita.

Si el nodo que se va a insertar se creó desde otro documento, se puede utilizar XmlDocument.ImportNode para importar el nodo al documento actual. El nodo importado se puede insertar en el documento actual.

Notas para los herederos: Cuando se reemplaza InsertBefore en una clase derivada, para que los eventos se desencadenen correctamente, el usuario debe llamar al método InsertBefore de la clase base.

Ejemplo

En el ejemplo siguiente se agrega un nuevo nodo al documento XML.

Visual Basic
Option Strict
Option Explicit

Imports System
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 'Main 
End Class 'Sample
C#
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);

  }
}
C++
#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 );
}
J#
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[] args)
    {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>"
            + "<title>Pride And Prejudice</title>"
            + "</book>");

        XmlNode root = doc.get_DocumentElement();

        //Create a new node.
        XmlElement elem = doc.CreateElement("price");
        elem.set_InnerText("19.95");

        //Add the node to the document.
        root.InsertBefore(elem, root.get_FirstChild());

        Console.WriteLine("Display the modified XML...");
        doc.Save(Console.get_Out());
    } //main 
} //Sample
Plataformas

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

Información de versión

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0

XNA Framework

Compatible con: 1.0
Vea también

Page view tracker