0

ルビー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"要素にも一致する別の述語を追加する方法がわかりません。

4

2 に答える 2

0

Rubyでテストされていませんが、これでうまくいくはずです。

//key[var[@name='id'] = '50'][var[@name='secondaryid'] = '0']
于 2012-04-25T09:58:41.010 に答える
0

別のアプローチ:

subelement/key
  [var[@name="id" and . = "50"]]
  [var[@name="secondaryid" and . = "0"]]
于 2012-04-25T10:42:49.477 に答える