2007年04月22日

C# メモ System.XML の憂鬱、というか空気を呼んでくれないところ

System.XML(XmlDocument) でノードから行番号が取得できない。
特定のノードが xml ファイルのどこにあるのか取得できない。

XMLの文法エラーのときだけは 行番号を取得できるんだけどねぇ。


例えば、エロゲ屋の顧客リスト管理プログラムがあったとして、


<data>
<name>上上下下</name>
<age>15</age>
</data>


なんてデータが来たら、15才の未成年に売れないので、データがおかしいよってエラーを出してあげたい。
「ファイル xxx.xml の 128行目 name 上上下下の年齢がおかしいよ」ぐらいは表示してあげたい。

ついでに言えば、 128行目にスクロールしてあげるとかすれば空気を読めているだろう。

だけど、行番号を取得する方法がないのだ。

「name 上上下下の年齢がおかしいよ」ぐらいしか表示できない。
後は、上上下下で全文検索でもして該当データを直すって感じか。
めんどくさ。

もうちょっとMSFTのアーキテクトさんが空気読んで設計してくれていたら良かったのにね。設計は大切だ。

ライブラリに依存すると、ライブラリの手のひらで遊んでいるうちはいいんだけど、それを外れるとどうしようもなくなるところが困ったものだ。

一応、別解して次の方法があるらしいが、、、
面倒だなぁ。。。

Line number information in XmlDocument? - .NET XML
TopXML : Using LINQ to XML Annotations - tracking line numbers, in .NET XML, System.XML

posted by rti at 18:10| Comment(0) | TrackBack(1) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/39671843

この記事へのトラックバック

三日で90万(笑)
Excerpt: 少し前までドウ○イだったのに、今ではセッ○スで生活してます(笑)
Weblog: たけちゃん
Tracked: 2007-06-04 04:45