2017-05-23 2 views
0

예를 들어 아래 XML이 제공됩니다.XML xpath, 루트 요소의 자식 가져 오기

 <?xml version="1.0" encoding="utf-8"?> 
     <store d:mi="22"> 
      <book price="12.99" d:price="Number" d:mi="4"> 
        <title d:constr="String" d:mi="1">Sword of Honour</title> 
        <category d:constr="String" d:mi="2">fiction</category> 
        <author d:constr="String" d:mi="3">Evelyn Waugh</author> 
      </book> 
      <book price="8.99" d:price="Number" d:mi="9"> 
       <sublist> 
        <title d:constr="String" d:mi="5">Moby Dick</title> 
        <category d:constr="String" d:mi="6">fiction</category> 
        <author d:constr="String" d:mi="7">Herman Melville</author> 
        <isbn d:constr="String" d:mi="8">0-553-21311-3</isbn> 
       </sublist> 
      </book> 
      <Note price="8.95" d:price="Number" d:mi="13"> 
        <title d:constr="String" d:mi="10">50</title> 
        <category d:constr="String" d:mi="11">reference</category> 
        <author d:constr="String" d:mi="12">Nigel Rees</author> 
      </Note> 
      <Note price="22.99" d:price="Number" d:mi="18"> 
        <title d:constr="String" d:mi="14">The Lord of the Rings</title> 
        <category d:constr="String" d:mi="15">fiction</category> 
        <author d:constr="String" d:mi="16">J. R. R. Tolkien</author> 
        <isbn d:constr="String" d:mi="17">0-395-19395-8</isbn> 
      </Note> 
     </store> 

아래의 Xpath를 사용하면 store 요소를 가져올 수 있습니다.

하지만 우리는 상점의 아이 인 책 (우리가 모르는 것은 무엇이든 올 수 있음) (상수)을 얻을 필요가 있습니다. 그렇게 할 수 있습니까?

또한
String name = "String"; 
String xpath = "//title[@d:constr='" + name + "']/parent::*"; 

storetitle의 부모가 아닙니다, 당신이 대신하면 단순히 "//title/parent::store"

"//title/ancestor::store"를 사용해야합니다

답변

0

시도가 필요 title 무시 노드 이름의 부모에 맞게 아래 식을 사용하는 자식을 받고 싶어 store :

//store/child::* 

첫 아이 :

//store/child::*[1] 
관련 문제