XmlNode.InsertBefore(XmlNode, XmlNode) Metod

Definition

Infogar den angivna noden omedelbart före den angivna referensnoden.

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

Parametrar

newChild
XmlNode

Noden som ska infogas.

refChild
XmlNode

Referensnoden. newChild placeras före den här noden.

Returer

Noden som infogas.

Undantag

Den aktuella noden är av en typ som inte tillåter underordnade noder av nodens newChild typ.

newChild är en överordnad till den här noden.

Skapades newChild från ett annat dokument än det som skapade den här noden.

är inte underordnad refChild den här noden.

Den här noden är skrivskyddad.

Exempel

I följande exempel läggs en ny nod till i XML-dokumentet.

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

Kommentarer

Om refChild är nullinfogar du newChild i slutet av listan över underordnade noder. Allt innehåll newChild i infogas i samma ordning före refChild. Om den newChild redan finns i trädet tas den bort från sin ursprungliga position och läggs till i målpositionen. Mer information om hur du infogar noder finns i Infoga noder i ett XML-dokument.

Om noden som infogades skapades från ett annat dokument kan du använda XmlDocument.ImportNode för att importera noden till det aktuella dokumentet. Den importerade noden kan sedan infogas i det aktuella dokumentet.

Anteckningar till arvingar

När du åsidosättar InsertBefore i en härledd klass måste du anropa metoden för basklassen InsertBefore för att händelser ska kunna aktiveras korrekt.

Gäller för

Se även