2010-04-25 30 views
2

我有以下代碼,但有時候「serving_description」標籤不存在。現在,我只是試圖繞過它,但我想知道是否有更清晰的方法來處理這種情況。是否有GetElementByTagName處理,如果標籤不存在

XmlElement servingElement = (XmlElement)servingNode; 
serving.Id = Convert.ToInt32(servingElement.GetElementsByTagName("serving_id")[0].InnerText); 
serving.Name = servingElement.GetElementsByTagName("serving_description")[0].InnerText; 

回答

3

我寧願檢查返回節點列表不爲空並檢查計數大於零使用默認爲一個嘗試捕捉之前。

一些簡單的像

serving.Name = "defaultName"; 
XmlNodeList elemList = servingElement.GetElementsByTagName("serving_description"); 
if (elemList != null && elemList.Count > 0) 
    serving.Name = elemList[0].InnerText; 

編輯

如果我沒有記錯的話,你甚至可能沒有爲的getElementsByTagName方法可能只是返回一個空來檢查列表(但我無法驗證,現在,對不起

+1

@a從記憶中,我認爲你是對的 - 你得到一個空的(但非空)節點集。 – 2010-04-25 08:19:45