- - PR -
C# スキーマ 検証
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-02-25 00:28
よろしくお願いします。
xml を XML Schema(XSD)で検証するプログラムを作成しています。 msdn(http://msdn2.microsoft.com/ja-jp/library/as3tta56(VS.80).aspx) を参考に作成しました。 問題があればエラーが表示されるのですが,1つエラーが発見されるとそれ以降のエラーがでません。下記の機能を追記したいと考えていますが,どのように実装すれ良いか, アドバイスお願いします。 (1)xmlファイル全てのエラーを表示したい。 (2)そのエラーに対応するxsdの箇所も表示したい。 よろしくお願いいたします。 |
|
投稿日時: 2007-02-25 11:40
「それ以降のエラー」は、アテにならないからでしょう。
C# ということですが、たとえば System.IO を使用せずに FileStream にアクセスすると、すべての行でエラーが出ます。しかし、すべてのエラーは、エラーになっている行を直すのではなく、ファイルの先頭で using を追加してやれば解決できます。 同じようなことが、XML の文法でも言えます。最初のエラーを直すと、後続のエラーはすべて消えるかもしれません。あるいは、他のエラーが出てくるかもしれません。 よって、「それ以降のエラー」は、アテにならないと思います。 _________________ |
|
投稿日時: 2007-02-25 21:35
回答ありがとうございます。
>「それ以降のエラー」は、アテにならないからでしょう。 なるほど,参考になります。 例えばですが, 下記のコードは実際にはうまく動作しませんが,下記のような感じで最後まで読みこませ,エラーがあればその都度書き出す方法はないでしょうか? (例:<aaa>bbb</aaa>のXMLでbbbの部分をXMLスキーマで必須にしておき,<aaa></aaa>とXMLを記載すると読み込み内容がずれてうまくいきません。) ヒントになるようなことでも結構ですので宜しくお願いします。 ----- while (reader.Read());の部分を while(!reader.EOF) { try { reader.Read(); } catch(Exception e) { Console.WriteLine(e.Message); } } ----- |
|
投稿日時: 2007-02-26 07:48
ごめんなさい、よくわからなかった
構造ではなく、データのエラーであれば、最後まで読めるでしょ、ということ? _________________ |
1