XmlNode.InsertAfter(XmlNode, XmlNode) メソッド


指定したノードを指定した参照ノードの直後に挿入します。Inserts the specified node immediately after the specified reference node.

 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



挿入するノードです。The node to insert.


参照ノードです。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>" +

    XmlNode root = doc.DocumentElement;

    //Create a new node.
    XmlElement elem = doc.CreateElement("price");

    //Add the node to the document.
    root.InsertAfter(elem, root.FirstChild);

    Console.WriteLine("Display the modified XML...");

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>" & _
        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...")
    End Sub
End Class


refChildnull場合は、子ノードの一覧の先頭に newChild を挿入します。If refChild is null, insert newChild at the beginning of the list of child nodes. newChild のすべての内容は、refChild後に同じ順序で挿入されます。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.