C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 12 を表示中)
■3466 / )  Re[1]: XmlReaderで行番号を指定して読み込む方法
□投稿者/ Hongliang (135回)-(2007/05/10(Thu) 22:48:57)
Hongliang さんの Web サイト
そもそも、XmlReader は
> XML データに対する非キャッシュ、前方参照専用、読み取り専用のアクセスを提供する
だけですので、お望みのものから些か距離が遠いでしょう。

XML では行というのはなかなか信用しづらい値かと思います。
無理にやるなら、TextReader で必要なだけ読み捨ててから XmlReaderSettings の ConformanceLevel を Fragment にして Create するとかですかね。
ちょっと読み過ぎるとあっという間に例外ですけど。

んー、しかしどうもシーンが思いつきませんね。


> また、さらに教えて頂きたいのですが、例えばXmlTextReader.Create()で作成されたインスタンスは
> XmlTextReader型となるのかと思いきや、XmlReader型となっている感じがして、
> XmlTextReader型にキャストして保持しても、既存XmlTextReader型の要素をなに一つ引き継いではいませんでした。

ヘルプで XmlTextReader のメンバ一覧の Create メソッドを開くとメソッドのオーバーロードの一覧が出ますが、そこのタイトルは
> XmlReader.Create メソッド
です。
単に親クラスである XmlReader の静的メソッドが子のクラスである XmlTextReader の型名からでも引けると言うだけに過ぎず、XmlReader.Create を指すことになります。
// 子クラスの名で親クラスの静的メソッドを探せてしまうのは気持ち悪いなぁ。

そして、ヘルプに書かれているとおり返値はあくまで XmlReader であって XmlTextReader ではありません。
// って言うか既存 XmlTextReader 型の要素を引き継ぐってどういう事?
返信 編集キー/


管理者用

- Child Tree -