2013-03-01 236 views
1

還在戰鬥。有了這兩個的XPath表達式,無論是工作,需要將它們合併爲一個:如何將兩個xpath表達式合併爲一個?

(1) //scale[@gender="*" or @gender="m"][@age="*" or @age="39-59"] 

(2) //d[@scid="hi"][@raw="10"]/@t 

這是XML(片段):

<scales> 
    <scale id="1" gender="*" age="*"> 
     <d scid="hi" raw="10" t="76" /> 
     <d scid="pn" raw="12" t="80" /> 
    </scale> 
    <scale id="2" gender="m" age="*"> 
     <d scid="hi" raw="8" t="79" /> 
     <d scid="pn" raw="2" t="50" /> 
    </scale> 
    <scale id="3" gender="*" age="19-39"> 
     <d scid="hi" raw="0" t="48" /> 
     <d scid="pn" raw="10" t="49" /> 
    </scale> 
</scales> 

試圖

//scale[@gender="*" or @gender="m"][@age="*" or @age="39-59"]/d[@scid="hi"][@raw="10"]@t 

- >失敗。

回答

2

您在組合查詢中缺少/之前的@t,除了它看起來不錯並且對於給定輸入返回t="76"

//scale[@gender="*" or @gender="m"][@age="*" or @age="39-59"]/d[@scid="hi"][@raw="10"]/@t