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