Sdílet prostřednictvím


XmlNode.InsertBefore(XmlNode, XmlNode) Metoda

Definice

Vloží zadaný uzel bezprostředně před zadaný referenční uzel.

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

Parametry

newChild
XmlNode

Uzel, který chcete vložit.

refChild
XmlNode

Referenční uzel. newChild je umístěn před tímto uzlem.

Návraty

XmlNode

Vložený uzel.

Výjimky

Aktuální uzel je typu, který nepovoluje podřízené uzly typu newChild uzlu.

Toto newChild je nadřazený uzel.

Byl newChild vytvořen z jiného dokumentu než z dokumentu, který vytvořil tento uzel.

Není refChild podřízeným uzlem.

Tento uzel je jen pro čtení.

Příklady

Následující příklad přidá do dokumentu XML nový uzel.

#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

Poznámky

Pokud refChild je null, vložte newChild na konec seznamu podřízených uzlů. Všechny obsahy jsou newChild vloženy ve stejném pořadí před refChild. newChild Pokud je již ve stromu, odebere se z původní pozice a přidá se do cílové pozice. Další informace o vkládání uzlů najdete v tématu Vložení uzlů do dokumentu XML.

Pokud byl uzel vložen z jiného dokumentu, můžete ho importovat XmlDocument.ImportNode do aktuálního dokumentu. Importovaný uzel se pak dá vložit do aktuálního dokumentu.

Poznámky pro dědice

Při přepsání InsertBefore v odvozené třídě, aby události byly vyvolány správně, je nutné volat InsertBefore metodu základní třídy.

Platí pro

Viz také