DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Xelementのnullを効率よく処理するには?

環境/言語:[Win7 VC#2008]
分類:[.NET]

AmazonAPIを利用しています。
データ取り出し部分は以下のようになっています。

string 差額= ggxAmaData.Element(ns + "Offers").Element(ns + "Offer").Element(ns + "OfferListing").Element(ns + "AmountSaved").Element(ns + "Amount").Value;

この時、データが途中でnullになるとエラーが返ってきます。
「NullReferenceExceptionはハンドルされませんでした」

ひとつひとつif文でチェックをすれば、このエラーを回避できるのですが
上記のように取り出しているデータも多くなっています。

もしかしたらもっと効率の良い処理方法があるのではないかと思いました。

よろしくお願いします。
a) XPathSelectElement拡張メソッドでXPathを使って取得する
b) this引数にnullが渡されたときにnullを返しそうでないならElementの結果を返す拡張メソッドを定義する
辺りでどうですかね。
// 私は3-4階層程度以上掘る必要があるならとりあえずXPath使う派。
■No29111に返信(muuuuuuuuuuuuuさんの記事)
> ひとつひとつif文でチェックをすれば、このエラーを回避できるのですが
> 上記のように取り出しているデータも多くなっています。

私は面倒でも一度変数に入れて if で一つずつチェックします。
変数に入っていれば他でも使えますし。

DOBON.NET | プログラミング道 | プログラミング掲示板