XPath反向查找

时间:2011-01-07 06:07:49

标签: xpath

给定一个XPath查询列表和XML文档中的节点,我需要找出与该节点匹配的所有XPath查询。 最简单的方法是遍历每个XPath查询并匹配节点。但我正在寻找更快的方法。 .NET(或任何平台)中是否有现有的库/工具?

1 个答案:

答案 0 :(得分:1)

只需使用

count(yourExpression | $theNode) = count(yourExpression)

"yourExpression"替换任何表达式,$theNode用XPath表达式替换该节点,然后取结果为

true()

在.NET中,评估任何XPAth 1.0表达式的方法是调用XPathNavigator.Evaluate()方法。

记住:节点集成员资格(在XPath 1.0和XPath 2.0中)可表示为:

count($node-set | $node) = count($node-set)

XPath 2.0解决方案:

yourExpression intersect $theNode is $theNode

或只是

boolean(yourExpression intersect $theNode)