【发布时间】:2010-12-09 18:31:18
【问题描述】:
我有一个如下的 XML 文档:
<objects>
<object uid="0" />
<object uid="1" />
<object uid="2" />
</objects>
我可以使用以下查询选择多个元素:
doc.xpath("//object[@uid=2 or @uid=0 or @uid=1]")
但这会按照它们在 XML 文档中声明的顺序返回元素(uid=0,uid=1,uid=2),我希望结果的顺序与执行 XPath 查询的顺序相同(uid =2, uid=0, uid=1)。
我不确定这是否可以单独使用 XPath,并且已经研究过 XSLT 排序,但我还没有找到一个示例来解释我如何实现这一点。
我正在使用 Nokogiri 库使用 Ruby。
【问题讨论】:
-
好问题,+1。请参阅我的答案以获得解释和两种不同的解决方案:XPath 2.0 和 XSLT 1.0 解决方案。
标签: ruby xml xslt xpath nokogiri