2010-02-10 2 views
1

,xpath를 사용하여 선택 기준/깊이가 다른 경우 특정 노드를 반환하려면 어떻게해야합니까? 다음 XML을 감안할 때

<root> 
    <property> 
     <programs> 
      <program>1</program> 
      <program>5</program> 
     </programs> 
     <tool> 
     </tool> 
    </property> 
    <property> 
     <tool> 
      <programs> 
       <program>1</program> 
       <program>2</program> 
      </programs> 
     </tool> 
    </property> 
</root> 
나는 "속성"노드 프로그램 = 1를 포함한 컬렉션을 반환하는 XPath 식을 작성하는 방법을

? 나는 "자기 자신이나 자손이 프로그램 [program = 1]을 포함 할 때 모든 속성 노드를 주겠다."하지만 나에게 "property"노드를 주려고 얻을 수는 없다고 생각한다.

답변

1
property[.//programs/program=1] 

자식 program 요소의 값이 1 인 하위 노드 programs을 포함하는 요소를 선택합니다 (property).

+0

아하! 나는 그것을 할 수있는 방법이 있어야한다는 것을 알고있었습니다. "그것은 쉽다!" Thx –

+0

당신은'property [.// programs/program = 1]'을 의미합니다. '//'는 루트에서 시작하여 문서의 어느 곳에서나'program = 1 '이있는 한 반환되는 * 모든 속성 노드를 가져옵니다. './/'는 컨텍스트 노드에서 시작합니다. – Tomalak

+0

Doh! 고마워요, Tomalak. 답변을 수정했습니다. –

관련 문제