还在战斗。拥有这两个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
- &GT;失败。
答案 0 :(得分:2)
您在合并后的查询中错过/
之前的@t
,除了它看起来很好并且返回t="76"
给定的输入。
//scale[@gender="*" or @gender="m"][@age="*" or @age="39-59"]/d[@scid="hi"][@raw="10"]/@t