0

我正在使用XmlSimple将 XML 文档转换为 ruby​​ 哈希。它把数据变成这样:

<resultPage>
  <total>2</total>
  <offset>0</offset>
  <limit>200</limit>
</resultPage>

进入这个:

{ :resultPage => [
    {
      :offset => [ "0" ],
      :total  => [ "2" ],
      :limit  => [ "200" ]
    }
] }

请注意它是如何将所有内容放入数组中的,我想是因为它不知道架构是否允许多个实例,例如<offset>,inside <resultPage>。因此,为了访问我的数据,我总是[0]在所有内容的末尾添加一个。

我必须忍受这个,还是有一种优雅的方式来解决它?

4

1 回答 1

1

您可以将“ForceArray”选项传递给 XmlSimple(默认为 true,将其设置为 false 以摆脱数组)。

 > XmlSimple.xml_in(str)
 => {"total"=>["2"], "offset"=>["0"], "limit"=>["200"]} 
 > XmlSimple.xml_in(str, {"ForceArray" => false})
 => {"total"=>"2", "offset"=>"0", "limit"=>"200"} 
于 2011-05-03T17:51:09.963 回答