我知道这是一个奇怪的问题!如何使用XPath伪造不存在的XML节点?
该要求是由于现有代码期望XPath查询的结果为单个节点。不幸的是,由于我们控制之外的因素,我们无法对代码进行更改(除非没有解决方法,这可能意味着我们将不得不推迟发布)。
以我的情况下,目前的XPath返回一个整数值(计数):
count(/someNode/node)
代码使用XPathNavigator.SelectSingleNode()
方法,其中,当然,失败,因为结果不是节点。
相反,我需要XPath返回一个节点,虽然是假的。可能吗?请注意,因为使用了.NET,所以XPath必须是1.0(不是2.0)。
P.S.而且,是的,我们将着眼于重构ASAP问题!
我想必须有一些其他的要求,我错过了。如果您只需要XPath返回节点,则可以将XPath更改为“/”。你真的需要你的XPath来返回一个节点*,它的文本内容等于'count(/ someNode/node)'*的值吗? – LarsH
顺便说一句问题的有用性。我经常希望能够在XPath中构建一个节点。当然,如果你能做到这一点,所有的花里胡哨的事情,你会接近复制XSLT。 :-) – LarsH