コンテンツの読み取り

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 フラグメント

戻り

value

[位置]

位置

Element

item1 開始タグ上。

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

text1

item2 開始タグ上。

属性

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 の読み取り