給定XPath查詢列表和XML文檔中的節點,我需要找出與節點匹配的所有XPath查詢。 最簡單的方法是通過每個XPath查詢並匹配節點。但我正在尋找更快的方式來做到這一點。 .NET(或任何平臺)中是否有任何現有的庫/工具?XPath反向查詢
2
A
回答
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)
+0
+1很好的答案。 – 2011-01-07 20:22:37
好問題,+1。查看我的答案以獲得簡單的解決方案:) – 2011-01-07 17:00:15