Compartilhar via


XmlNode.InsertBefore(XmlNode, XmlNode) Método

Definição

Insere o nó especificado imediatamente antes do nó de referência especificado.

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

Parâmetros

newChild
XmlNode

O nó a inserir.

refChild
XmlNode

O nó de referência. O newChild é colocado antes desse nó.

Retornos

XmlNode

O nó que está sendo inserido.

Exceções

O nó atual é de um tipo que não permite nós filho do tipo do nó newChild.

O newChild é um ancestral desse nó.

O newChild foi criado com base em um documento diferente daquele que criou esse nó.

O refChild não é filho desse nó.

Este nó é somente leitura.

Exemplos

O exemplo a seguir adiciona um novo nó ao 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

Comentários

Se refChild for null, insira newChild no final da lista de nós filho. Todos os conteúdos do newChild são inseridos, na mesma ordem, antes refChild. Se o newChild já estiver na árvore, ele será removido de sua posição original e adicionado à sua posição de destino. Para obter mais informações sobre como inserir nós, consulte Inserir nós em um documento XML.

Se o nó que está sendo inserido foi criado a partir de outro documento, você pode usar XmlDocument.ImportNode para importar o nó para o documento atual. Em seguida, o nó importado pode ser inserido no documento atual.

Notas aos Herdeiros

Ao substituir InsertBefore em uma classe derivada, para que os eventos sejam gerados corretamente, você deve chamar o InsertBefore método da classe base.

Aplica-se a

Confira também