DOM への新しいノードの作成

XmlDocument クラスには、すべてのノード型に対応する Create メソッドがあります。 ノードを作成するには、このメソッドに、名前が必要な場合は名前を渡し、コンテンツを持つノードではコンテンツやその他のパラメーターを指定します。コンテンツを持つノードには、たとえばテキスト ノードがあります。 次のメソッドでは、ノードを適切に作成するために、名前といくつかのパラメーターの指定が必要です。

その他のノード型では、パラメーターにデータを与えるだけでなく、他の要件を満たす必要もあります。

属性の詳細については、「DOM の要素に対する新しい属性の作成」を参照してください。 要素名と属性名の検証については、「新しいノードの作成時における XML 要素名および属性名の検証」を参照してください。 エンティティ参照の作成については、「新しいエンティティ参照の作成」を参照してください。 エンティティ参照の展開における名前空間の影響については、「要素と属性を含む新しいノードでのエンティティ参照の展開に対する名前空間の影響」を参照してください。

新しく作成したノードをツリーに挿入するには、いくつかのメソッドを使用できます。 使用できるメソッドと、そのメソッドによって DOM のどこに新しいノードが作成されるかの説明を次の表に示します。

メソッド ノードの位置
InsertBefore 参照ノードの前に挿入されます。 たとえば、5 番目の位置に新しいノードを挿入するには、次のようにします。

XmlNode refChild = node.ChildNodes[4]; // The reference is zero-based.

node.InsertBefore(newChild, refChild);

詳細については、InsertBefore メソッドを参照してください。
InsertAfter 参照ノードの後に挿入されます。 次に例を示します。

node.InsertAfter(newChild, refChild);

詳細については、InsertAfter メソッドを参照してください。
AppendChild 当該ノードの子ノードのリストの末尾にノードを追加します。 追加するノードが XmlDocumentFragment の場合は、ドキュメント フラグメントの内容全体がこのノードの子リストに移動されます。 詳細については、AppendChild メソッドを参照してください。
PrependChild 当該ノードの子ノードのリストの先頭にノードを追加します。 追加するノードが XmlDocumentFragment の場合は、ドキュメント フラグメントの内容全体がこのノードの子リストに移動されます。 詳細については、PrependChild メソッドを参照してください。
Append 要素に関連付けられている属性コレクションの末尾に XmlAttribute ノードを追加します。 詳細については、Append メソッドを参照してください。

関連項目