【发布时间】:2012-04-01 01:04:46
【问题描述】:
我正在尝试使用 Nori 解析 Ruby 中的 XML,Nori 在内部使用 Nokogiri。 XML 有一些重复的标签,库将重复的标签解析为数组,将非重复的标签解析为普通元素(哈希)
<nodes>
<foo>
<name>a</name>
</foo>
<bar>
<name>b</name>
</bar>
<baz>
<name>c</name>
</baz>
<foo>
<name>d</name>
</foo>
<bar>
<name>e</name>
</bar>
</nodes>
被解析为
{nodes: {
foo: [{name: "a"}, {name: "d"}],
bar: [{name: "b"}, {name: "e"}],
baz: {name: "c"}
}}
如何在生成的哈希中保留元素的顺序,如下面的输出?
{nodes: [
{foo: {name: "a"}},
{bar: {name: "b"}},
{baz: {name: "c"}},
{foo: {name: "d"}},
{bar: {name: "e"}},
]}
(这可能是一个特定于图书馆的问题。但目的是了解是否有人遇到过类似的问题以及如何正确解析它)
【问题讨论】:
-
我看不到想要的输出是什么。请记住,哈希不能有多个具有相同键的值。
-
更新了预期输出的问题
标签: ruby xml soap nokogiri savon