次の方法で共有


XmlNode.InsertBefore メソッド

指定したノードを指定した参照ノードの直前に挿入します。

Public Overridable Function InsertBefore( _
   ByVal newChild As XmlNode, _   ByVal refChild As XmlNode _) As XmlNode
[C#]
public virtual XmlNode InsertBefore(XmlNodenewChild,XmlNoderefChild);
[C++]
public: virtual XmlNode* InsertBefore(XmlNode* newChild,XmlNode* refChild);
[JScript]
public function InsertBefore(
   newChild : XmlNode,refChild : XmlNode) : XmlNode;

パラメータ

  • newChild
    挿入する XmlNode
  • refChild
    参照ノードである XmlNodenewChild は、このノードの前に配置されます。

戻り値

挿入されるノード。

例外

例外の種類 条件
InvalidOperationException 現在のノードは、 newChild ノードの型の子ノードが許可されない型です。

newChild がこのノードの祖先です。

ArgumentException newChild は、このノードを作成したドキュメントとは異なるドキュメントから作成されました。

refChild は、このノードの子ではありません。

このノードは読み取り専用です。

解説

refChild が null 参照 (Visual Basic では Nothing) の場合は、子ノードのリストの末尾に newChild を挿入します。 newChildXmlDocumentFragment オブジェクトの場合は、その子ノードが同じ順序で refChild の前に挿入されます。 newChild が既にツリーに存在する場合は、最初に削除されます。

別のドキュメントで作成されたノードを挿入する場合は、 XmlDocument.ImportNode を使用してそのノードを現在のドキュメントにインポートできます。インポートされたノードは次に、現在のドキュメントに挿入できます。

継承時の注意: 派生クラスで InsertBefore をオーバーライドする場合は、イベントを正常に発生させるために、基本クラスの InsertBefore メソッドを呼び出す必要があります。

使用例

[Visual Basic, C#, C++] 新しいノードを XML ドキュメントに追加する例を次に示します。

 
Option Strict
Option Explicit

Imports System
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 'Main 
End Class 'Sample

[C#] 
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);

  }
}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
{
    XmlDocument* doc = new XmlDocument();
    doc->LoadXml(S"<book genre='novel' ISBN='1-861001-57-5'>" 
                 S"<title>Pride And Prejudice</title>" 
                 S"</book>");

    XmlNode* root = doc->DocumentElement;

    //Create a new node.
    XmlElement* elem = doc->CreateElement(S"price");
    elem->InnerText=S"19.95";

    //Add the node to the document.
    root->InsertBefore(elem, root->FirstChild);

    Console::WriteLine(S"Display the modified XML...");
    doc->Save(Console::Out);

}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

XmlNode クラス | XmlNode メンバ | System.Xml 名前空間 | XmlDocument.ImportNode