XmlNode.InsertAfter メソッド
指定したノードを指定した参照ノードの直後に挿入します。
Public Overridable Function InsertAfter( _
ByVal newChild As XmlNode, _ ByVal refChild As XmlNode _) As XmlNode
[C#]
public virtual XmlNode InsertAfter(XmlNodenewChild,XmlNoderefChild);
[C++]
public: virtual XmlNode* InsertAfter(XmlNode* newChild,XmlNode* refChild);
[JScript]
public function InsertAfter(
newChild : XmlNode,refChild : XmlNode) : XmlNode;
パラメータ
- newChild
挿入する XmlNode 。 - refChild
参照ノードである XmlNode 。 newNode は、 refNode の後に配置されます。
戻り値
挿入されるノード。
例外
例外の種類 | 条件 |
---|---|
InvalidOperationException | このノードは、 newChild ノードの型の子ノードが許可されない型です。
newChild がこのノードの祖先です。 |
ArgumentException | newChild は、このノードを作成したドキュメントとは異なるドキュメントから作成されました。
refChild は、このノードの子ではありません。 このノードは読み取り専用です。 |
解説
refChild が null 参照 (Visual Basic では Nothing) の場合は、子ノードのリストの先頭に newChild を挿入します。 newChild が XmlDocumentFragment オブジェクトの場合は、その子ノードが同じ順序で refChild の後に挿入されます。 newChild が既にツリーに存在する場合は、最初に削除されます。
別のドキュメントで作成されたノードを挿入する場合は、 XmlDocument.ImportNode を使用してそのノードを現在のドキュメントにインポートできます。インポートされたノードは次に、現在のドキュメントに挿入できます。
このメソッドは、ドキュメント オブジェクト モデル (DOM: Document Object Model) に対する Microsoft 拡張機能です。
継承時の注意: 派生クラスで InsertAfter をオーバーライドする場合は、イベントを正常に発生させるために、基本クラスの InsertAfter メソッドを呼び出す必要があります。
使用例
[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.InsertAfter(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.InsertAfter(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->InsertAfter(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