我尝试解析一个大型 XML 文件,并且我使用了很多 XPath 表达式的相对路径。
现在我遇到了 .net XPath 评估的问题。
这是一个解释我的问题的小例子:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
</book>
</bookstore>
这是代码:
static void Main(string[] args)
{
System.Xml.XmlDocument d = new System.Xml.XmlDocument();
d.Load(@"D:\simpleXml.xml");
System.Diagnostics.Trace.WriteLine(d.SelectSingleNode("//price/..[year=\'2005\']").Name);
}
我收到以下错误消息:附加信息:'//price/..[year='2005']' has an invalid token。
对我来说,这似乎是一个有效的 XPath 表达式,因为 XMLSpy 等其他工具成功地评估了该表达式。