XML ノードの種類

XML ドキュメントがノードのツリーとしてメモリに読み込まれると、ノードの作成時にノード型が決まります。 XML ドキュメント オブジェクト モデル (DOM) では複数のノード型が定義されています。これらのノード型は W3C (World Wide Web Consortium) で規定されているもので、セクション 1.1.1「The DOM Structure Model」に記載されています。 ノード型、ノード型に割り当てられるオブジェクト、およびそれぞれの簡単な説明を次の表に示します。

DOM ノード型 Object 説明
ドキュメント XmlDocument ツリー内のすべてのノードのコンテナーです。 ドキュメントのルートとも呼ばれますが、常にルート要素と一致するとは限りません。
DocumentFragment XmlDocumentFragment 1 つ以上のノードを非ツリー構造で格納する一時的なバッグです。
DocumentType XmlDocumentType <!DOCTYPE…> ノードを表します。
EntityReference XmlEntityReference 展開されていないエンティティ参照テキストを表します。
要素 XmlElement 要素ノードを表します。
Attr XmlAttribute 要素の属性です。
ProcessingInstruction XmlProcessingInstruction 処理命令ノードです。
コメント XmlComment コメント ノードです。
テキスト XmlText 要素または属性に含まれるテキストです。
CDATASection XmlCDataSection CDATA を表します。
エンティティ XmlEntity 内部ドキュメント型定義 (DTD) のサブセットまたは外部 DTD とパラメーター エンティティから取得され、XML ドキュメントに含まれている <!ENTITY…> 宣言を表します。
Notation XmlNotation DTD で宣言された記法を表します。

属性 (attr) は、W3C DOM Level 1 のセクション 1.2「Fundamental Interfaces」ではノードとして記載されていますが、どの要素ノードの子とも見なされません。

W3C では定義されていない追加のノード型を次の表に示します。ただし、これらのノード型は XmlNodeType 列挙値としてのみ Microsoft .NET Framework オブジェクト モデルで使用できます。 そのため、これらのノード型に対応する DOM ノード型の列はありません。

ノード型 説明
XmlDeclaration 宣言ノード <?xml version="1.0"…> を表します。
XmlSignificantWhitespace 有意の空白を表します。これは混合コンテンツの空白です。
XmlWhitespace 要素コンテンツ内の空白を表します。
EndElement XmlReader が要素の末尾に達したときに返されます。

XML サンプル: </item>

詳細については、「XmlNodeType」を参照してください。
EndEntity ResolveEntity を呼び出した後、置換するエンティティの末尾に XmlReader が達したときに返されます。 詳細については、「XmlNodeType」を参照してください。

XML を読み込み、case 構成体を使用してノード型を判定し、ノードとその内容についての情報を出力するコード サンプルについては、「NodeType」を参照してください。

ノード型のオブジェクト階層構造とそれぞれに対応するオブジェクト名の詳細については、「XML ドキュメント オブジェクト モデル (DOM) の階層構造」を参照してください。 ノード ツリーに作成されるオブジェクトの詳細については、「オブジェクト階層の XML データへのマップ」を参照してください。

関連項目