使用ruby 1.9.3和Nokogiri(最新):
鉴于(不,我没有提出这个):
<root>
<subelement>
<key>
<var name="id">50</var>
<var name="secondaryid">0</var>
</key>
</subelement>
<subelement>
<key>
<var name="id">50</var>
<var name="secondaryid">1</var>
</key>
</subelement>
</root>
返回父元素(&lt; key&gt;),其中var元素的name属性等于“id”,值等于50 AND var元素,name属性等于“secondaryid”,值等于0 。不要返回id = 50且secondaryid = 1的节点。
显然,它会被建立起来的东西:
@ doc.xpath(“// var [@ name ='id'和text()= 50]”)
但我无法弄清楚如何添加另一个与name =“secondaryid”元素相匹配的谓词。
答案 0 :(得分:0)
没有使用Ruby测试,但这应该可以解决问题。
//key[var[@name='id'] = '50'][var[@name='secondaryid'] = '0']
答案 1 :(得分:0)
另一种方法:
subelement/key
[var[@name="id" and . = "50"]]
[var[@name="secondaryid" and . = "0"]]