当我调用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']

10-08 10:47