Freigeben über


XmlNode.InsertBefore-Methode

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

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Overridable Function InsertBefore ( _
    newChild As XmlNode, _
    refChild As XmlNode _
) As XmlNode
'Usage
Dim instance As XmlNode
Dim newChild As XmlNode
Dim refChild As XmlNode
Dim returnValue As XmlNode

returnValue = instance.InsertBefore(newChild, refChild)
public virtual XmlNode InsertBefore (
    XmlNode newChild,
    XmlNode refChild
)
public:
virtual XmlNode^ InsertBefore (
    XmlNode^ newChild, 
    XmlNode^ refChild
)
public XmlNode InsertBefore (
    XmlNode newChild, 
    XmlNode refChild
)
public function InsertBefore (
    newChild : XmlNode, 
    refChild : XmlNode
) : XmlNode

Parameter

  • newChild
    Der einzufügende XmlNode.
  • refChild
    Der XmlNode, der der Verweisknoten ist. newChild wird vor diesem Knoten platziert.

Rückgabewert

Der Knoten, der eingefügt wird.

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

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

newChild ist eine frühere Version dieses Knotens.

ArgumentException

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.

Hinweise

Wenn refChild NULL (Nothing in Visual Basic) ist, fügen Sie newChild am Ende der Liste von untergeordneten Knoten ein. Wenn newChild ein XmlDocumentFragment-Objekt ist, werden dessen untergeordnete Knoten in derselben Reihenfolge vor refChild eingefügt. Wenn newChild bereits in der Struktur vorhanden ist, wird es zunächst entfernt.

Wenn der einzufügende Knoten aus einem anderen Dokument stammt, kann der Knoten mithilfe von XmlDocument.ImportNode in das aktuelle Dokument importiert werden. Der importierte Knoten kann anschließend in das aktuelle Dokument eingefügt werden.

Hinweise für Erben Um Ereignisse ordnungsgemäß auslösen zu können, müssen Sie beim Überschreiben von InsertBefore in einer abgeleiteten Klasse die InsertBefore-Methode der Basisklasse aufrufen.

Beispiel

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

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
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);

  }
}
#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 );
}
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

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlNode-Klasse
XmlNode-Member
System.Xml-Namespace
XmlDocument.ImportNode