当我调用XPathNavigator.Select(“ self :: node()/../ .. [@ numberOfLocationFyres!='0']”)时,出现了“具有无效令牌”的异常
这是因为XPathNavigator无法超出其所在的根目录吗?如果是这样,关于如何最好地处理此案的任何建议?
当用户设置要迭代的节点时,我们称为select并获取XPathNodeIterator。
然后,对于每次迭代,我们调用XPathNodeIterator.Current,这为我们所在的节点提供了XPathNavigator。
然后针对XPath针对我们所在的节点进行选择,请调用XPathNavigator.Select()
有办法有效地做到这一点吗?或者,如果我们需要支持.. / ..,是否需要始终在根节点上工作并在要迭代的节点的XPath之前添加前缀?
谢谢-戴夫
最佳答案
在语法上在XPath 1.0中无效:
..[condition]
用:
self::node()/../../self::*[@numberOfLocationsAdded!='0']
或等值简称:
../parent::*[@numberOfLocationsAdded!='0']