应用于(简化)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