DOM への新しいノードの作成
XmlDocument には、すべてのノード タイプに対応する Create メソッドがあります。このメソッドに、名前が必要な場合は名前を渡し、コンテンツを持つノードではコンテンツやその他のパラメータを指定すると、そのノードが作成されます。コンテンツを持つノードには、たとえばテキスト ノードがあります。ノードを適切に作成するため、次のメソッドには、名前といくつかのパラメータを指定する必要があります。
- CreateComment
- CreateCDataSection
- CreateDocumentFragment
- CreateDocumentType
- CreateElement
- CreateProcessingInstruction
- CreateTextNode
- CreateXmlDeclaration
- CreateWhitespace
- CreateSignificantWhitespace
その他のノード タイプでは、パラメータにデータを与えるだけでなく、他の要件を満たす必要もあります。
属性の詳細については、「DOM の要素に対する新しい属性の作成」を参照してください。要素名と属性名の検証については、「新しいノードの作成時における XML 要素名および属性名の検証」を参照してください。エンティティ参照の作成については、「新しいエンティティ参照の作成」を参照してください。エンティティ参照の展開における名前空間の影響については、「要素と属性を含む新しいノードでのエンティティ参照の展開に対する名前空間の影響」を参照してください。
新しく作成したノードをツリーに挿入するには、いくつかのメソッドを使用できます。使用できるメソッドと、そのメソッドによって DOM のどこに新しいノードが作成されるかの説明を次の表に示します。
メソッド | ノードの位置 |
---|---|
InsertBefore | 参照ノードの前に挿入されます。たとえば、5 番目の位置に新しいノードを挿入するには、次のようにします。
詳細については、XmlNode.InsertBefore メソッドを参照してください。 |
InsertAfter | 参照ノードの後に挿入されます。次にコード例を示します。
詳細については、XmlNode.InsertAfter メソッドを参照してください。 |
AppendChild | 当該ノードの子ノードのリストの末尾にノードを追加します。追加するノードが XmlDocumentFragment である場合は、ドキュメント フラグメントの内容全体がこのノードの子リストに移動されます。詳細については、XmlNode.AppendChild メソッドを参照してください。 |
PrependChild | 当該ノードの子ノードのリストの先頭にノードを追加します。追加するノードが XmlDocumentFragment である場合は、ドキュメント フラグメントの内容全体がこのノードの子リストに移動されます。詳細については、XmlNode.PrependChild メソッドを参照してください。 |
Append | 要素と関連付けられている属性コレクションの末尾に XmlAttribute ノードを追加します。詳細については、XmlAttributeCollection.Append メソッドを参照してください。 |