OracleXmlStream
オブジェクトは、OracleXmlType
オブジェクトに格納されているXMLデータの読取り専用ストリームを表します。
クラスの継承
System.Object
System.MarshalByRefObject
System.Stream
System.OracleXmlStream
宣言
// C# public sealed class OracleXmlStream : IDisposable, ICloneable
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
要件
ネームスペース: Oracle.DataAccess.Types
アセンブリ: Oracle.DataAccess.dll
Microsoft .NET Frameworkバージョン: 1.xまたは2.0
このクラスは、Oracle9iリリース2(9.2)以上でのみ使用できます。
OracleXmlStream
メンバーを次の表にリストします。
OracleXmlStreamコンストラクタ
OracleXmlStream
コンストラクタのリストを、表6-12に示します。
表6-12 OracleXmlStreamコンストラクタ
コンストラクタ | 説明 |
---|---|
|
OracleXmlStream静的メソッド
OracleXmlStream
静的メソッドのリストを、表6-13に示します。
OracleXmlStreamインスタンス・プロパティ
OracleXmlStream
インスタンス・プロパティのリストを、表6-14に示します。
表6-14 OracleXmlStreamインスタンス・プロパティ
プロパティ | 説明 |
---|---|
XMLストリームが読取り可能かどうかを示します |
|
順方向および逆方向検索操作が実行可能であるかどうかを示します |
|
CanWrite |
サポート対象外 |
XMLデータの取得に使用される |
|
XMLストリーム内のバイト数を示します |
|
ストリーム内のバイト位置を取得または設定します |
|
ストリーム内の最初の文字が文字列であるXMLデータを戻します |
OracleXmlStreamインスタンス・メソッド
OracleXmlStream
インスタンス・メソッドのリストを、表6-15に示します。
表6-15 OracleXmlStreamインスタンス・メソッド
メソッド | 説明 |
---|---|
|
|
|
|
|
|
現行のストリームをクローズし、それに関連するリソースを解除します |
|
このオブジェクトによって割り当てられたリソースを解除します |
|
|
|
|
|
|
|
|
サポート対象外 |
|
|
|
|
|
|
|
|
現行のストリーム・インスタンスから指定された量を読み取り、配列バッファに移入します(オーバーロード) |
|
|
|
現行のストリーム内に位置を設定し、現行のストリーム内の新規の位置を戻します |
|
|
サポート対象外 |
|
|
|
サポート対象外 |
|
サポート対象外 |
このコンストラクタは、OracleXmlType
オブジェクトに格納されているXMLデータのStream
表現を提供するOracleXmlStream
オブジェクトのインスタンスを作成します。
宣言
// C#
public OracleXmlStream(OracleXmlType xmlType);
パラメータ
xmlType
OracleXmlType
オブジェクト
備考
OracleXmlStream
は、構成元であるOracleXmlType
オブジェクトからのOracleConnection
オブジェクトを暗黙的に使用します。
OracleXmlStream
静的メソッドのリストを、表6-16に示します。
OracleXmlStream
インスタンス・プロパティのリストを、表6-17に示します。
表6-17 OracleXmlStreamインスタンス・プロパティ
プロパティ | 説明 |
---|---|
XMLストリームが読取り可能かどうかを示します |
|
順方向および逆方向検索操作が実行可能であるかどうかを示します |
|
|
サポート対象外 |
XMLデータの取得に使用される |
|
XMLストリーム内のバイト数を示します |
|
ストリーム内のバイト位置を取得または設定します |
|
ストリーム内の最初の文字が文字列であるXMLデータを戻します |
Stream
をオーバーライドします。
このプロパティは、XMLストリームが読取り可能であるかどうかを示します。
宣言
// C# public override bool CanRead{get;}
プロパティ値
XMLストリームが読取り可能である場合はtrue
を戻し、それ以外の場合はfalse
を戻します。
Stream
をオーバーライドします。
このインスタンス・プロパティでは、順方向および逆方向検索操作が実行可能かどうかを示します。
宣言
// C# public override bool CanSeek{get;}
プロパティ値
順方向および逆方向検索操作が実行可能である場合は、true
を戻します。それ以外の場合はfalse
を戻します。
このインスタンス・プロパティは、XMLデータの取得に使用されるOracleConnection
を示します。
宣言
// C# public OracleConnection Connection {get;}
プロパティ値
OracleConnection
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
Stream
をオーバーライドします。
このプロパティは、XMLストリーム内のバイト数を示します。
宣言
// C# public override Int64 Length{get;}
プロパティ値
XMLストリーム内のバイト数を表すInt64
値。空のストリームは0バイト長です。
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
InvalidOperationException
: OracleConnection
がオープンされていないか、またはオブジェクトの存続中にクローズされています。
Stream
をオーバーライドします。
このプロパティは、ストリーム内のバイト位置を取得または設定します。
宣言
// C# public override Int64 Position{get; set;}
プロパティ値
ストリーム内の現行の位置を示すInt64
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
InvalidOperationException
: OracleConnection
がオープンされていないか、またはオブジェクトの存続中にクローズされています。
ArgumentOutOfRangeException
: Position
が0未満です。
備考
ストリームの始まりは位置0
によって表されます。ストリーム長を超えている位置の検索がサポートされています。
このプロパティは、ストリーム内の最初の文字が文字列であるXMLデータを戻します。
宣言
// C# public string Value{get; set;}
プロパティ値
string
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
InvalidOperationException
: OracleConnection
がオープンされていないか、またはオブジェクトの存続中にクローズされています。
備考
このプロパティの使用により、Position
の値が使用または変更されることはありません。
このプロパティによって戻されることができる文字列の最大長は2GBです。
OracleXmlStream
インスタンス・メソッドのリストを、表6-18に示します。
表6-18 OracleXmlStreamインスタンス・メソッド
メソッド | 説明 |
---|---|
|
|
|
|
|
|
現行のストリームをクローズし、それに関連するリソースを解除します |
|
このオブジェクトによって割り当てられたリソースを解除します |
|
|
|
|
|
|
|
|
サポート対象外 |
|
|
|
|
|
|
|
|
現行のXMLストリーム・インスタンスから指定された量を読み取り、配列バッファを移入します(オーバーロード) |
|
|
|
現行のストリーム内に位置を設定し、現行のストリーム内の新規の位置を戻します |
|
|
サポート対象外 |
|
|
|
サポート対象外 |
|
サポート対象外 |
このメソッドは、OracleXmlStream
オブジェクトのコピーを作成します。
宣言
// C# public object Clone();
戻り値
OracleXmlStream
オブジェクト
実装
ICloneable
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
InvalidOperationException
: OracleConnection
がオープンされていないか、またはオブジェクトの存続中にクローズされています。
備考
複製されたオブジェクトのプロパティ値は、複製元のオブジェクトのプロパティ値と同じです。
Stream
をオーバーライドします。
このメソッドは現行のストリームをクローズし、それに関連するリソースを解除します。
宣言
// C# public override void Close();
このパブリック・メソッドは、このオブジェクトによって割り当てられたリソースを解除します。
宣言
// C# public void Dispose();
実装
IDisposable
備考
オブジェクトは、処理後は再度使用できません。一部のプロパティには継続してアクセスできますが、その値は適切ではありません。リソースが解放されているため、メソッドのコールにより例外が発生することがあります。
このメソッドは、現行のXMLストリーム・インスタンスから指定された量を読み取り、配列バッファを移入します。
オーバーロード・リスト:
このメソッドは現行のインスタンスから指定された量のUnicodeバイトを読み取り、ストリーム内の位置を拡張し、バイト配列バッファを移入します。
このメソッドは現行のインスタンスから指定された量の文字を読み取り、ストリーム内の位置を拡張し、文字配列バッファを移入します。
Stream
をオーバーライドします。
このメソッドは現行のインスタンスから指定された量のUnicodeバイトを読み取り、ストリーム内の位置を拡張し、バイト配列バッファを移入します。
宣言
// C# public override int Read(byte[ ] buffer, int offset, int count);
パラメータ
buffer
移入されるバイト配列バッファ
offset
バッファが移入されるゼロベースのオフセット(バイト)
count
読み取られるバイトの最大量
戻り値
指定されたbyte[]
バッファに読み取られるUnicodeバイト数か、ストリームの終わりに達した場合の0
備考
このメソッドは現行のストリームから最大count
バイトを読み取り、それをoffset
で始まるバッファに格納します。ストリーム内の現行の位置は、読み取られたバイト数によって拡張されます。ただし、例外発生時には、ストリーム内の現行の位置は変更されません。
XMLデータの読取りは、Position
プロパティにより指定された位置から開始されます。
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
InvalidOperationException
: OracleConnection
がオープンされていないか、またはオブジェクトの存続中にクローズされています。
Stream
をオーバーライドします。
このメソッドは現行のインスタンスから指定された量の文字を読み取り、ストリーム内の位置を拡張し、文字配列バッファを移入します。
宣言
// C# public override int Read(char[ ] buffer, int offset, int count);
パラメータ
buffer
移入される文字配列バッファ
offset
バッファが移入される、バッファ内のゼロベースのオフセット(文字)
count
ストリームから読み取られる文字の最大量
戻り値
戻り値はストリームから読み取られる文字数か、ストリームの終わりに達した場合の0
を示します。
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
InvalidOperationException
: OracleConnection
がオープンされていないか、またはオブジェクトの存続中にクローズされています。
備考
このメソッドでは、ストリーム・インスタンス上のPosition
がゼロまたは偶数である必要があります。
XMLデータの読取りは、Position
プロパティにより指定された位置から開始されます。
Stream
をオーバーライドします。
このメソッドは現行のストリーム内に位置を設定し、現行のストリーム内の新規の位置を戻します。
宣言
// C# public long Seek(long offset, SeekOrigin origin);
パラメータ
offset
起点に相対的なバイト・オフセット
offset
が負の場合は、新規位置がoffset
によって指定されたバイト数だけ、origin
で指定した位置より前にあります。
オフセットがゼロの場合、新規の位置はorigin
によって指定された位置になります。
offset
が正の場合は、新規位置はoffset
によって指定されたバイト数だけ、origin
で指定した位置より後にあります。
origin
新規の位置の取得に使用される参照ポイントを示すタイプSeekOrigin
の値
戻り値
現行のストリーム内の新規のPosition
例外
ObjectDisposedException
: オブジェクトはすでに処理されています。
InvalidOperationException
: OracleConnection
がオープンされていないか、またはオブジェクトの存続中にクローズされています。
備考
現行のインスタンスが検索をサポートしているかどうかを調べるには、CanSeek
プロパティを使用します。ストリーム長を超えている位置の検索がサポートされています。