Rails #to_xml不添加根元素

时间:2011-07-11 18:46:13

标签: ruby-on-rails xml xml-serialization

据我所知,这是有效的xml,如果不是最优雅的:

<items>
  <item>...</item>
  <item>...</item>
</items>

解析时(使用HTTParty内置的Crack :: XML)我得到了

{:items => {:item => [...]}}

很好,但是当我在Rails中将它转换回xml时,它会添加一个元素:

<items>
  <item>
    <item>...</item>
    <item>...</item>
  </item>
</items>

是否有一种选择,或者更有可能的方法来定制构建器的行为以避免这种情况?我看到了一种方法来指定to_xml添加的这个根元素的名称,但是没有办法让它假设如果一个哈希对的值是一个数组,则将该数组的每个元素包装在一个名称为密钥,以便to_xml将返回与我开始的结构类似的东西。

更新

也许是一个更简单的方式来提出这个问题:是否有一个可逆的解析器/序列化器组合,所以如果我解析一些xml然后序列化生成的Hash,我会得到相同的XML?

0 个答案:

没有答案