XML ノードの種類
XML ドキュメントがノードのツリーとしてメモリに読み込まれると、ノードの作成時にノードの種類が決定されます。XML DOM には、何種類かのノード タイプが定義されています。これらのノード タイプは W3C によって規定されたもので、セクション「1.1.1 DOM Structure Model」に記載されています。ノード タイプ、ノード タイプに割り当てられるオブジェクト、およびそれぞれの簡単な説明を次の表に示します。
DOM ノード タイプ | オブジェクト | 説明 |
---|---|---|
Document | XmlDocument クラス | ツリー内のすべてのノードのコンテナです。ドキュメントのルートとも呼ばれますが、常にルート要素と一致するとは限りません。 |
DocumentFragment | XmlDocumentFragment クラス | 1 つ以上のノードを非ツリー構造で格納する一時的なバッグです。 |
DocumentType | XmlDocumentType クラス | <!DOCTYPE...> ノードを表します。 |
EntityReference | XmlEntityReference クラス | 展開されていないエンティティ参照テキストを表します。 |
Element | XmlElement クラス | 要素ノードを表します。 |
Attr | XmlAttribute クラス | 要素の属性です。 |
ProcessingInstruction | XmlProcessingInstruction クラス | 処理命令ノードです。 |
Comment | XmlComment クラス | コメント ノードです。 |
Text | XmlText クラス | 要素または属性に含まれるテキストです。 |
CDATASection | XmlCDataSection クラス | CDATA を表します。 |
Entity | XmlEntity クラス | XML ドキュメントに含まれる <!ENTITY...> 宣言を表します。これは、内部のドキュメント型定義 (DTD) サブセット、または外部 DTD とパラメータ エンティティから取得されます。 |
Notation | XmlNotation クラス | DTD で宣言された記法を表します。 |
属性 (attr) は、W3C による DOM Level 1 のセクション「1.2 Fundamental Interfaces」ではノードとして定義されていますが、どの要素ノードの子とも見なされません。
W3C では定義されていない追加のノード タイプを次の表に示します。ただし、これらのノード タイプを利用できるのは、.NET オブジェクト モデルで XmlNodeType 列挙型として使用する場合だけです。そのため、これらのノード タイプには、対応する DOM ノード タイプの列はありません。
ノード タイプ | 説明 |
---|---|
XmlDeclaration | 宣言ノード <?xml version="1.0"...> を表します。 |
XmlSignificantWhitespace | 有意の空白を表します。これは混合コンテンツ内の空白です。 |
XmlWhitespace | 要素コンテンツ内の空白を表します。 |
EndElement | XmlReader が要素の末尾に達したときに返されます。
XML の例 : </item> 詳細については、「XmlNodeType 列挙体」を参照してください。 |
EndEntity | ResolveEntity 呼び出しの結果、置換するエンティティの末尾に XmlReader が達したときに返されます。詳細については、「XmlNodeType 列挙体」を参照してください。 |
XML を読み込み、case 構成体を使用してノード タイプを判定し、ノードとその内容についての情報を出力するコード例については、「NodeType プロパティ」を参照してください。
ノード タイプのオブジェクト階層構造とそれぞれに対応するオブジェクト名の詳細については、「XML ドキュメント オブジェクト モデル (DOM) の階層構造」を参照してください。ノード ツリーに生成されるオブジェクトの詳細については、「オブジェクト階層の XML データへのマップ」を参照してください。