1
我在文档的根目录下有一个XPathNavigator。有几个级别,我想总结一组数字值。我总是可以遍历节点并自己添加它们,但由于我知道XPath规范包含一个sum函数,因此我决定尝试使用它。我遇到了一个错误。我可以在XPathNavigator中使用XPath函数吗?
System.Xml.XPath.XPathException - Expression must evaluate to a node-set.
这是我的代码。
XPathDocument doc = new XPathDocument(new StringReader(myLiteralXML));
XPathNavigator nav = doc.CreateNavigator();
string myXPath = "sum(/root/level1/level2/elementsToAdd)";
XPathNavigator sumNode = nav.SelectSingleNode(myXPath);
我预计sumNode.Value
给我我的总和(作为一个字符串)。但是,当我尝试填充sumNode
时,我得到上面列出的例外。
我知道我的XPath是有效的(或者至少XMLSpy说这是)。我能不能在XPathNavigator上使用XPath函数 ?我只是做错了吗?
(同样,只是好奇,我是不是浪费在一条死胡同的做法没人我的时间是一个使用,并冒着不能够从现在起一年这是什么东西做弄清楚?)
从来不知道那里。谢谢。 – 2009-09-03 20:41:33