XmlNode.InsertAfter(XmlNode, XmlNode) 方法

定义

将指定的节点紧接着插入指定的引用节点之后。Inserts the specified node immediately after the specified reference node.

public:
 virtual System::Xml::XmlNode ^ InsertAfter(System::Xml::XmlNode ^ newChild, System::Xml::XmlNode ^ refChild);
public virtual System.Xml.XmlNode InsertAfter (System.Xml.XmlNode newChild, System.Xml.XmlNode refChild);
abstract member InsertAfter : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
override this.InsertAfter : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function InsertAfter (newChild As XmlNode, refChild As XmlNode) As XmlNode

参数

newChild
XmlNode

要插入的节点。The node to insert.

refChild
XmlNode

引用节点。The reference node. newChild 放置在 refChild 之后。newChild is placed after refChild.

返回

插入的节点。The node being inserted.

例外

此节点的类型不允许 newChild 节点类型的子节点。This 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->InsertAfter( 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.InsertAfter(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.InsertAfter(elem, root.FirstChild)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub
End Class

注解

如果 null``refChild,请将 newChild 插入子节点列表的开头。If refChild is null, insert newChild at the beginning of the list of child nodes. refChild后,将按相同顺序插入 newChild 的所有内容。All the contents of the newChild are inserted, in the same order, after 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.

此方法是文档对象模型(DOM)的 Microsoft 扩展。This method is a Microsoft extension to the Document Object Model (DOM).

继承者说明

当在派生类中重写 InsertAfter 时,为了正确引发事件,必须调用基类的 InsertAfter 方法。When overriding InsertAfter in a derived class, in order for events to be raised correctly, you must call the InsertAfter method of the base class.

适用于

另请参阅