XmlReader.ReadValueChunk(Char[], Int32, Int32) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
XML ドキュメントに埋め込まれたテキストの大量のストリームを読み込みます。
public:
virtual int ReadValueChunk(cli::array <char> ^ buffer, int index, int count);
public virtual int ReadValueChunk (char[] buffer, int index, int count);
abstract member ReadValueChunk : char[] * int * int -> int
override this.ReadValueChunk : char[] * int * int -> int
Public Overridable Function ReadValueChunk (buffer As Char(), index As Integer, count As Integer) As Integer
パラメーター
- buffer
- Char[]
テキストの内容が書き込まれるバッファーとして機能する文字の配列。 この値を null
にすることはできません。
- count
- Int32
バッファーにコピーする最大文字数。 コピーされた実際の文字数は、このメソッドから返されます。
戻り値
バッファー内へ読み取られた文字数。 それ以上テキストの内容がない場合は、値として 0 が返されます。
例外
現在のノードに値がありません (HasValue が false
)。
- または -
先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。 この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。
buffer
値は null
です。
バッファー内のインデックス、またはインデックスとカウントの合計値が、割り当てられているバッファー サイズを超えています。
XmlReader 実装が、このメソッドをサポートしていません。
XML データは、整形式ではありません。
注釈
このメソッドを使用すると、XML ドキュメントに埋め込まれた非常に大きなテキスト ストリームをストリーミング形式で読み取ります。つまり、値全体に 1 つの文字列を割り当てるのではなく、一度に少数の文字を読み取ります。 このメソッドは、値 (HasValue is true
) を持つ任意のノードで呼び出すことができますが、ノード値の実際のストリーミングは、テキスト、空白、および重要な空白ノードで呼び出された場合にのみ発生します。 属性や CDATA ノードなど、その他のノードの種類の値がキャッシュされます。
このメソッドは、プロパティのValue内容のみを返し、移動しません。XmlReader
このメソッドは、ノード値の指定した文字数 (count
) を、指定したオフセットindex
() の文字バッファー (buffer
) に読み取り、バッファーに書き込まれた文字数を返します。 値の末尾に 0
達した時点を返します。 値を再度読み取るために再起動することはできません。
プロパティの ReadValueChunk 呼び出しの間に XmlReader 、プロパティを除いて Value 変更はありません。 プロパティに Value アクセスすると、部分的な値 (まだ返されていない ReadValueChunk文字を含む) または実装に応じて完全な値を返す場合があります。 XmlReader名前空間内System.Xmlのすべての実装は、プロパティ実装の部分的な値をValue返します。
呼び出しの間に任意の Read メソッドを ReadValueChunk呼び出すことができます。 これが発生した場合、ストリーム内 XmlReader の次 XmlNodeType に移動し、まだ返されていない文字はスキップされます。
返される文字数が、要求された文字数未満の場合 ReadValueChunk があります。 たとえば、127 と 128 の位置にサロゲート ペアを持つ 200 文字の長い値があり、128 文字のバッファーを使用して呼び出 ReadValueChunk した場合、メソッド呼び出しは要求された 128 文字ではなく 127 文字を返します。 その後、サロゲート ペアは次 ReadValueChunk の呼び出しで返されます。 この場合、 ReadValueChunk 要求された 128 文字は返されませんでした。この場合、バッファーの末尾に不完全なサロゲート ペアが発生したためです。
このメソッドの非同期バージョンについては、次を参照してください ReadValueChunkAsync。