應用於(簡化)xml下面的代碼使myanim1.swf,如預期的節點。我其實希望節點myanim3.swf。我想說的是「獲得屬性名爲animationUrl的屬性標記的第一個節點,但不要超過一個孩子」。我目前有一個解決方法,但我正在尋找一個更優雅的解決方案。紅寶石/ Nokogiri/Xpath淺搜索
這是紅寶石,對象是一個Nokogiri對象。我相信這是XPath搜索,但我對Nokogiri的XPath的味道有點不清楚。無論如何,幫助表示感謝,謝謝。
XML:
<blah>
<property name="overlays">
<array>
<object type="myType">
<property name="animationUrl" value="myanim1.swf"/>
</object>
<object type="myType">
<property name="animationUrl" value="myanim2.swf"/>
</object>
</array>
</property>
<property name="animationUrl" value="myanim3"/>
</property>
</blah>
CODE:
myNode = thisNode.search("property[name=animationUrl]").first.andand["value"]
Nokogiri的XPath風味? Nokogiri使用libxml2,這是一個標準的XML解析器。 – 2011-03-01 03:21:58