<item>
<title>Aerie Peak</title>
<link>http://www.wow-europe.com/realmstatus/index.html#Aerie Peak</link>
<description>Aerie Peak - Realm Down - Lang en - Type PvE</description>
<category domain="status">Realm Down</category>
<category domain="language">en</category>
<category domain="type">PvE</category>
<category domain="queue">false</category>
<guid isPermaLink='false'>EU5-REALM15</guid>
</item>
我需要選擇title
和status
。以下是我想出了:選擇C#中具有相同名稱但不同屬性內部文本的XML節點
string uri = "http://www.wow-europe.com/realmstatus/index.xml";
XmlDocument doc = new XmlDocument();
doc.Load(uri);
XmlNodeList nodes = doc.SelectNodes("//item");
foreach (XmlNode node in nodes)
{
{
RealmList.Text += node["title"].InnerText + " - " +
node.SelectNodes("category[@domain='status']")[0].InnerText;
}
}
這在選擇行給出System.NullReferenceException: Object reference not set to an instance of an object.
,雖然。我不知道我將如何去選擇節點。
錯誤發生在哪裏?當我從文件加載示例XML時,適用於我。只有'node.SelectNodes(「....」)。InnerText'很棘手,因爲如果該節點不存在,該怎麼辦?首先,我會做一個'node.SelectSingleNode()',並且將它存儲到一個XmlNode變量中,並且在訪問它的'.InnerText'屬性之前確保該變量是'!= null' ..... – 2010-07-07 11:35:03