0

XmlSimpleを使用して、XML ドキュメントを Ruby ハッシュに変換しています。次のようなデータになります。

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

これに:

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

すべてを配列内に配置する方法に注意してください。これは、スキーマが、たとえば<offset>、内部の複数のインスタンスを許可しているかどうかがわからないためだと思います<resultPage>。したがって、自分のデータにアクセスするために、常に[0]すべての末尾に a を追加しています。

私はこれと一緒に暮らす必要がありますか、それともエレガントな方法がありますか?

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 に答える