2011-02-07 106 views
0

以下是XML。現在我想選擇所有/ Home/Coverage/Coverage/Identifier/CoverageName ='WorkersCompensation'作爲值的/ Home/Identifier/HomeNumber值。我已經在類似的問題在這個論壇上嘗試過一些答案,但似乎沒有工作。我在構建XPATH表達式時需要幫助。XPATH - 如何根據其他標記的值選擇1個標記的值

<Home> 
     <Identifier> 
      <HomeNumber>1</HomeNumber> 
     </Identifier> 
<Coverages> 
      <Coverage busStatus="Active"> 
      <Identifier> 
       <CoverageName>PersonalLiability</CoverageName> 
      </Identifier> 
      </Coverage> 
      <Coverage> 
      <Identifier> 
       <CoverageName>WorkersCompensation</CoverageName> 
      </Identifier> 
      <Detail> 
       <Name>NumberOfInServants</Name> 
       <Value> 
       <Integer>1</Integer> 
       </Value> 
      </Detail> 
      </Coverage> 
     <covergaes> 
</Home> 
<Home> 
. 
. 
. 
</Home> 

回答

4

你幾乎自己寫它:

/*/Home[Coverages 
      /Coverage 
      /Identifier 
       /CoverageName 
     = 'WorkersCompensation'] 
     /Identifier 
     /HomeNumber 

注意:我希望一些根元素,當然...

5

嘗試

/*/Home[Coverages/Coverage/Identifier/CoverageName='WorkersCompensation']/Identifier/HomeNumber 

我不知道一個100%,如果它工作或沒有,我真的沒有時間來測試它。如果有效,我會在後面解釋爲什麼我給出了這個答案。

+0

@戴夫:我會考慮刪除我的回答如果你說了什麼關於這是一個**絕對錶達式** ... – 2011-02-07 17:20:30