我有一个像这样的xml文件:
<locations>
<location country="UK">
<name>London</name>
<class>Silver</class>
</location>
<location country="Germany">
<name>Berlin II</name>
<class>Bronze</class>
</location>
</locations>
打开页面时,我会扣除一个值&#34; currentCountry&#34;来自网址。现在我想使用该值在XML文件中搜索相应的location
条目,并将其子节点的innerHtml值放入变量中。这是我目前的代码,目前无效:
string currentCountry = "Germany" //For testing purposes
string currentName = "";
string currentClass = "";
XmlDocument doc = new XmlDocument();
doc.Load("C:\\IIS\\Web\\Content\\locations.xml");
XmlNodeList xnList = doc.SelectNodes("/locations/location[@country='" + currentCountry + "']");
foreach (XmlNode xn in xnList)
{
currentName = xn.SelectSingleNode("/name").InnerText;
currentClass = xn.SelectSingleNode("/class").InnerText;
}
我得到错误System.NullReferenceException: Object reference not set to an instance of an object.
指向foreach
循环内的第一行。
有人能指出我正确的方向吗?
答案 0 :(得分:2)
删除forwardslash它应该可以正常工作:
currentName = xn.SelectSingleNode("name").InnerText;
currentClass = xn.SelectSingleNode("class").InnerText;
答案 1 :(得分:1)
好的,只需使用currentName = xn["name"].InnerText;
即可。在帖子发布后10秒钟发现它:/