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

Definition

Fügt den angegebenen Knoten direkt vor dem angegebenen Verweisknoten ein.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

Parameter

newChild
XmlNode XmlNode XmlNode XmlNode

Der einzufügende Knoten.The node to insert.

refChild
XmlNode XmlNode XmlNode XmlNode

Der Verweisknoten.The reference node. newChild wird vor diesem Knoten platziert.newChild is placed before this node.

Gibt zurück

Der Knoten, der eingefügt wird.The node being inserted.

Ausnahmen

Der Typ des aktuellen Knotens lässt keine untergeordneten Knoten vom Typ des newChild-Knotens zu.The current node is of a type that does not allow child nodes of the type of the newChild node.

newChild ist eine frühere Version dieses Knotens.The newChild is an ancestor of this node.

newChild wurde nicht aus dem Dokument erstellt, aus dem dieser Knoten erstellt wurde.The newChild was created from a different document than the one that created this node.

refChild ist kein untergeordnetes Element dieses Knotens.The refChild is not a child of this node.

Dieser Knoten ist schreibgeschützt.This node is read-only.

Beispiele

Im folgenden Beispiel wird dem XML-Dokument ein neuer Knoten hinzugefügt.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

Hinweise

Wenn refChild null ist, fügen Sie am Ende der Liste mit untergeordneten Knoten newChild ein.If refChild is null, insert newChild at the end of the list of child nodes. Alle Inhalte der newChild werden in derselben Reihenfolge vor refChild eingefügt.All the contents of the newChild are inserted, in the same order, before refChild. Wenn sich die newChild bereits in der Struktur befindet, wird Sie von der ursprünglichen Position entfernt und ihrer Zielposition hinzugefügt.If the newChild is already in the tree, it is removed from its original position and added to its target position. Weitere Informationen zum Einfügen von Knoten finden Sie unter Einfügen von Knoten in ein XML-Dokument.For more information about inserting nodes, see Inserting Nodes into an XML Document.

Wenn der Knoten, der eingefügt wird, aus einem anderen Dokument erstellt wurde, können Sie XmlDocument.ImportNode verwenden, um den Knoten in das aktuelle Dokument zu importieren.If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. Der importierte Knoten kann dann in das aktuelle Dokument eingefügt werden.The imported node can then be inserted into the current document.

Hinweise für Vererber

Wenn Sie InsertBefore in einer abgeleiteten Klasse überschreiben, müssen Sie die InsertBefore-Methode der Basisklasse aufzurufen, damit Ereignisse ordnungsgemäß ausgelöst werden.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.

Gilt für:

Siehe auch