所以我正在尝试(使用XPATH 2.0之前的环境)从同一搜索结果中选择两个属性...我的数据看起来像(这是课程的摘录)
<ATHLETES>
<ATHLETE athleteid="1010" lastname="Doe" firstname="John" gender="M" key="12345">
<RESULTS>
<RESULT resultid="1673" time="00:00:31.00" status=""/>
鉴于resultid,我想找到时间,以及更高节点中的密钥。
我可以用
提取resultid和时间
//运动员/运动员/结果/结果[@resultid =&#39; 1673&#39;] / @ * [name()=&#39; time&#39;或name()=&#39; resultid&#39;]&#34 ;;
但是如何进入名为&#34; key&#34;的属性在父母的父节点?
Monathan
答案 0 :(得分:0)
我无法想到在XPath 1.0中执行此操作的非常干净(非重复)方法,但您可以使用union运算符(|
)在单个查询中选择这两个属性:
//ATHLETES/ATHLETE[RESULTS/RESULT/@resultid = '1673']/@key |
//ATHLETES/ATHLETE/RESULTS/RESULT[@resultid = '1673']/@time