我有一些看起来像这样的 XML:
<container>
<type>01</type>
<text>one</text>
</container>
<container>
<type>02</type>
<text>two</text>
</container>
编辑s的顺序container
不固定。
我正在使用 xPath(通过 ruby 的 nokogiri)从该文档中选择文本。我希望能够从text
02中获取,但如果不存在,container
则从01 中获取。type
text
container
type
我可以
/container/type[text() = "02" or text() = "01"]/parent::container
这将使我得到两个元素,然后我可以使用一些红宝石来排序并取正确的元素(因为这将首先返回 01 元素),但这感觉很笨拙。
我已经搜索了stackoverflow,没有任何明显的东西可以让我使用简单的xpath对元素输出进行排序,但是有没有办法命令xpath获取一个元素,但如果它不存在则回退到另一个?
干杯!