2011-01-07 6 views
2

XPath 쿼리 목록과 XML 문서의 노드가있는 경우 해당 노드와 일치하는 모든 XPath 쿼리를 찾아야합니다. 가장 간단한 방법은 각 XPath 쿼리를 통해 노드를 일치시키는 것입니다. 그러나 나는 이것을하는 더 빠른 방법을 찾고있다. .NET (또는 다른 플랫폼)에 기존 라이브러리/도구가 있습니까?XPath 역방향 조회

+0

좋은 질문입니다. +1. 쉬운 해결책은 내 대답을 참조하십시오. :) –

답변

1

그냥 사용

: 정확히이 노드를 선택하는 XPath 표현식을 사용하여 표현의 어떠한 $theNode

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

대체 "yourExpression"을하고있는 결과가 인이 걸릴 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 좋은 답변입니다. –