我想從XML獲取數據。我知道的是,當我試圖找到的動物不在XML數據中時,我總是會得到一個錯誤。如圖所示。如何檢查XML值是否存在?
這是存儲在XML數據:
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Animal value="Elephant" size="2" name="Bob">
<Action age="1" size="1">I am small</Action>
<Action age="2" size="1">I am growing up</Action>
<Action age="3" size="1">I'm 3 years old</Action>
<Action age="4" size="1">I'm BIG</Action>
</Animal>
</Root>
這是C#代碼的一部分:
XmlDocument xDoc = new XmlDocument();
xDoc.Load("animals.xml");
string animal = "Elephant";
MessageBox.Show(Convert.ToString(xDoc.SelectSingleNode("/Root/Animal[@value='" + animal + "']")
.Attributes["name"].InnerText));
當我改變
string animal = "Tiger";
我如何出現的錯誤解決數據不存在的錯誤?
一個提示是找出'xDoc.SelectSingleNode()'返回你提供的不同值。 –
在調用其上的任何方法之前,驗證'xDoc.SelectSingleNode(「/ Root/Animal [@ value ='」+ animal +「'」)「)是否爲'null'。 –
你想從xml中獲得什麼?只有一個動物節點。您正在嘗試檢查它是否爲'value'屬性指定的值? –