我必须创建看起来像这样的XML:
<?xml version="1.0" ?>
<FirstLevel>
<Package>
<Name></Name>
</Package>
<Package>
<Name></Name>
</Package>
...
</FirstLevel>
如您所见,Package
在结构中的同一级别多次显示。
我知道你不能在Ruby哈希中有重复的密钥,所以当有重复的密钥时,我不知道如何能够从哈希转到XML。有没有人有任何想法?
我正在使用Hash#to_xml
将我的哈希值转换为XML(我相信由ActiveSupport提供)。
顺便说一下,我正在使用Rails。
答案 0 :(得分:3)
好的,我相信我弄明白了。您必须使用Hash#compare_by_identity
。我相信这使得密钥查找使用对象id而不是字符串匹配来完成。
我在“Ruby Hash with duplicate keys?”中找到了它。
{}.compare_by_identity
h1 = {}
h1.compare_by_identity
h1["a"] = 1
h1["a"] = 2
p h1 # => {"a"=>1, "a"=>2}