XmlNode.InsertBefore(XmlNode, XmlNode) 方法

定義

在指定的參考節點之前,插入指定的節點。

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

參數

newChild
XmlNode

要插入的節點。

refChild
XmlNode

參考節點。 newChild 會置於這個節點之前。

傳回

要插入的節點。

例外狀況

目前這種型別的節點不允許 newChild 節點型別的子節點。

newChild 是這個節點的上階。

newChild 由不同於建立這個節點的另一份文件所建立。

refChild 不是這個節點的子節點。

這個節點是唯讀的。

範例

下列範例會將新的節點新增至 XML 檔。

#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

備註

如果 refChildnull ,請在子節點清單的結尾插入 newChildnewChild在 之前 refChild ,會以相同的順序插入 的所有內容。 newChild如果 已在樹狀結構中,則會從其原始位置中移除,並新增至其目標位置。 如需插入節點的詳細資訊,請參閱 將節點插入 XML 檔

如果插入的節點是從另一份檔建立的,您可以使用 XmlDocument.ImportNode 將節點匯入至目前的檔。 匯入的節點接著可以插入至目前的檔。

給繼承者的注意事項

在衍生類別中覆寫 InsertBefore 時,若要正確引發事件,您必須呼叫 InsertBefore 基類的 方法。

適用於

另請參閱