0
如果源XML包含數字或者標記丟失,以下鏈接語句可以正常工作。我遇到的問題是標籤爲空或者使用非數字值時。可以修改這個聲明來處理這些情況嗎?linq to xml,處理空標記
Convert.ToInt32((string)Data.Elements("groupBy").Elements("depth").FirstOrDefault() ?? "0")
如果源XML包含數字或者標記丟失,以下鏈接語句可以正常工作。我遇到的問題是標籤爲空或者使用非數字值時。可以修改這個聲明來處理這些情況嗎?linq to xml,處理空標記
Convert.ToInt32((string)Data.Elements("groupBy").Elements("depth").FirstOrDefault() ?? "0")
不知道的方式使用LINQ來解決這個,但如果你不能保證XML文檔的內容,那麼將只使用int.TryParse()?例如,它會更容易
int result = 0;
int.TryParse((string)Data.Elements("groupBy").Elements("depth").FirstOrDefault(), out result);
我只想做:
try
int result = (int)Data.Elements("groupBy").Elements("depth").FirstOrDefault();
catch
{
// handle
}
的問題是,這幾個命令創建一個對象(「選擇新的myClass的」語句的一部分),因此增加一個嘗試捕捉不會之一工作。我知道我沒有給出我的問題中的所有細節,因爲我想修改個別代碼行。 – Retrocoder 2010-12-02 09:01:34