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

定義

在指定的參考節點之前,插入指定的節點。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

參數

newChild
XmlNode XmlNode XmlNode XmlNode

要插入的節點。The node to insert.

refChild
XmlNode XmlNode XmlNode XmlNode

參考節點。The reference node. newChild 會置於這個節點之前。newChild is placed before this node.

傳回

要插入的節點。The node being inserted.

例外狀況

目前這種型別的節點不允許 newChild 節點型別的子節點。The current node is of a type that does not allow child nodes of the type of the newChild node.

newChild 是這個節點的上階。The newChild is an ancestor of this node.

newChild 由不同於建立這個節點的另一份文件所建立。The newChild was created from a different document than the one that created this node.

refChild 不是這個節點的子節點。The refChild is not a child of this node.

這個節點是唯讀的。This node is read-only.

範例

下列範例會將新的節點加入至 XML 檔。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

備註

如果 refChildnull,請在子節點清單結尾處插入 newChildIf refChild is null, insert newChild at the end of the list of child nodes. @No__t-0 的所有內容都會以相同的順序插入,然後才 refChildAll the contents of the newChild are inserted, in the same order, before refChild. 如果 newChild 已經在樹狀結構中,就會從其原始位置中移除,並將其新增至目標位置。If the newChild is already in the tree, it is removed from its original position and added to its target position. 如需插入節點的詳細資訊,請參閱將節點插入 XML 檔For more information about inserting nodes, see Inserting Nodes into an XML Document.

如果要插入的節點是從另一個檔建立的,您可以使用 XmlDocument.ImportNode,將節點匯入到目前的檔。If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. 然後,匯入的節點可以插入目前檔中。The imported node can then be inserted into the current document.

給繼承者的注意事項

在衍生類別中覆寫 InsertBefore 時,為了讓事件正確引發,您必須呼叫基類的 InsertBefore 方法。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.

適用於

另請參閱