特定のノードが 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