<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