コンテンツの読み取り

XmlReader クラスにはコンテンツを読むために使用できるメンバーが含まれています。

メモメモ

このトピックで説明するメンバーはコンテンツを文字列値として返します。型指定してコンテンツを読む場合は、「型指定されたデータの読み取り」を参照してください。

Value プロパティ

Value プロパティを使用すると現在のノードのテキスト内容を取得できます。 返される値は、現在のノードのノード型に依存します。 各ノード型に応じて返される内容を次の表に示します。

ノード型

Attribute

属性の値。

CDATA

CDATA セクションの内容。

Comment

コメントの内容。

DocumentType

内部サブセット。

ProcessingInstruction

ターゲットを含まない、全体の内容。

SignificantWhitespace

混合コンテンツ モデル内のマークアップ間の空白。

Text

テキスト ノードの内容。

Whitespace

マークアップ間の空白。

XmlDeclaration

宣言の内容。

その他のすべてのノード型

空の文字列。

ReadString メソッド

ReadString メソッドは 1 つの要素またはテキスト ノードの内容を文字列として返します。

XmlReader が要素上にある場合、ReadString はすべてのテキスト、有意の空白、空白、および CDATA セクションのノードを一緒に連結し、連結されたデータを要素コンテンツとして返します。 リーダーはマークアップを見つけると停止します。 これは混合コンテンツ モデル内で、または要素の終了タグが読み込まれると発生します。

XmlReader がテキスト ノード上にある場合、ReadString は、テキスト、有意の空白、空白、および CDATA セクションのノードについて同じ連結操作を行います。 リーダーは、これらの型以外の最初のノード上で停止します。 リーダーが属性のテキスト ノード上にある場合、ReadString は、あたかもリーダーが要素の開始タグ上にあるのと同様に機能します。 連結されたすべての要素テキスト ノードが返されます。

メモメモ

ReadString メソッドは処理命令とコメント上で停止します。それらを無視することはありません。

ReadInnerXml メソッド

ReadInnerXml メソッドは、マークアップも含め、現在のノードの内容をすべて返します。 現在のノード (開始タグ) と対応する終了ノード (終了タグ) は返されません。 たとえば、XML 文字列 <node>this<child id="123"/></node>, ReadInnerXml では、this<child id="123"/> が返されます。

要素と属性の取り扱いについて説明を次の表に示します。

ノード型

最初の

位置

XML フラグメント

戻り

移動後の

位置

Element

item1 開始タグ上。

<item1>text1</item1><item2>text2</item2>

text1

item2 開始タグ上。

Attribute

attr1 属性ノード上。

<item attr1="val1" attr2="val2">text</item>

val1

attr1 属性ノード上に留まる。

リーダーがリーフ ノード上にある場合、ReadInnerXml の呼び出しは Read と同じです。

ReadOuterXml メソッド

ReadOuterXml メソッドは、現在のノードとその子のマークアップを含め、すべての XML コンテンツを返します。 その動作は、このメソッドが開始タグと終了タグも返すことを除いて、ReadInnerXml と似ています。

上の表の例で、リーダーが item1 の開始タグ上にあるとすると、ReadOuterXml は <item1>text1</item1> を返します。 リーダーが attr1 属性ノード上にあるとすると、ReadOuterXml は attr1="val1" を返します。

参照

概念

要素の読み取り

属性の読み取り

XmlReader による XML の読み取り