2010-12-01 4 views
0

次のリンクステートメントは、ソースXMLに数値が含まれているか、タグがない場合に問題ありません。私が持っている問題は、タグが空であるか、数値以外の値が使われている場合です。これらの状況を処理するためにこのステートメントを修正することはできますか?linq to xml、空のタグを処理する

Convert.ToInt32((string)Data.Elements("groupBy").Elements("depth").FirstOrDefault() ?? "0") 

答えて

1

は、LINQでこれを解決する方法を知りませんが、XML文書の内容を保証することはできませんならば、それだけでint.TryParse()?,例えばを使用することが容易になるだろう

int result = 0; 
int.TryParse((string)Data.Elements("groupBy").Elements("depth").FirstOrDefault(), out result); 
0

私は単にするだろう:

try 
    int result = (int)Data.Elements("groupBy").Elements("depth").FirstOrDefault(); 
catch 
{ 
    // handle 
} 
+0

問題は、これはそうではないでしょうトライキャッチを追加する(「新しいMyClassのを選択し、」文の一部)オブジェクトを作成するいくつかのコマンドの一つであるということです作業。私は個々のコード行を変更したいと思っていたので、私は私の質問ですべての詳細を述べなかったことを知っています。 – Retrocoder