Freigeben über


XmlNode.InsertBefore(XmlNode, XmlNode) Methode

Definition

Fügt den angegebenen Knoten direkt vor dem angegebenen Verweisknoten ein.

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

Parameter

newChild
XmlNode

Der einzufügende Knoten.

refChild
XmlNode

Der Verweisknoten. newChild wird vor diesem Knoten platziert.

Gibt zurück

Der Knoten, der eingefügt wird.

Ausnahmen

Der Typ des aktuellen Knotens lässt keine untergeordneten Knoten vom Typ des newChild-Knotens zu.

newChild ist eine frühere Version dieses Knotens.

newChild wurde nicht aus dem Dokument erstellt, aus dem dieser Knoten erstellt wurde.

refChild ist kein untergeordnetes Element dieses Knotens.

Dieser Knoten ist schreibgeschützt.

Beispiele

Im folgenden Beispiel wird dem XML-Dokument ein neuer Knoten hinzugefügt.

#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

Hinweise

Wenn refChild ist null, fügen Sie am Ende der Liste der untergeordneten Knoten ein newChild . Alle Inhalte von newChild werden in der gleichen Reihenfolge vor refChildeingefügt. Wenn sich der newChild bereits in der Struktur befindet, wird es von seiner ursprünglichen Position entfernt und seiner Zielposition hinzugefügt. Weitere Informationen zum Einfügen von Knoten finden Sie unter Einfügen von Knoten in ein XML-Dokument.

Wenn der eingefügte Knoten aus einem anderen Dokument erstellt wurde, können XmlDocument.ImportNode Sie den Knoten in das aktuelle Dokument importieren. Der importierte Knoten kann dann in das aktuelle Dokument eingefügt werden.

Hinweise für Vererber

Wenn Sie in einer abgeleiteten InsertBefore Klasse überschreiben, müssen Sie die -Methode der InsertBefore Basisklasse aufrufen, damit Ereignisse ordnungsgemäß ausgelöst werden.

Gilt für:

Weitere Informationen