2014-04-03 3 views
1

:XPath 식을 다음과 같은 XML 파일을 고려

<a> 
    <b> 
    </b> 
    <c> 
     <d>content X</d> 
    </c> 
    <c> 
     <d>content Y</d> 
    </c> 
</a> 

각 요소는 XPath 식을 만들 수있는 XML을 구문 분석 할 수있는 쉬운 방법이있다, 그래서 curl http://localhost:5000/home/content?xpath=/a/c/d[2]처럼 뭔가를 할 때 나는 그것이 있다는 인식을 두 번째 <d> 태그를 언급하고 있습니까?

쉬운 방법이 없다면이를 수행하는 방법에 대한 제안이 있습니까?

+0

하나의''아이가, 어떤 결과가 없을되지 않습니다에 대한'.../C/d [2]'. @dirkk의 답과 같이 색인은 ''대신 ''이어야합니다. – har07

답변

1

예, 있습니다. 그러나 실제로는 두 번째 <d/> 요소를 원하지 않습니다. 주어진 컨텍스트에 아무 것도 없기 때문입니다. 위치 필터를 적용하면 (즉, [2]을 사용) 두 번째 <d/> 요소 인 내에서 주어진 <c/> 요소 내에 있음을 의미합니다. 그러나 모든 <c/>에는 하나만 <d/>이 있으므로 항상 빈 결과가 나타납니다.

따라서, 올바른 XPath는 다음과 같습니다는 XML의 각` `요소 이후

curl http://localhost:5000/home/content?xpath=/a/c[2]/d 
관련 문제