ルビー1.9.3とノコギリ(最新)の使用:
与えられた(いいえ、私はこれを思いつきませんでした):
<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>
nameプロパティが"id"で値が50のvar要素とnameプロパティが"secondaryid"で値が0のvar要素を持つ親要素(<key>)を返します。返さないでください。 id=50およびsecondaryid=1のノード。
明らかに、それは次の線に沿って何かから構築されるでしょう:
@ doc.xpath( "// var [@ name ='id' and text()= 50]")
しかし、name="secondaryid"要素にも一致する別の述語を追加する方法がわかりません。