1
当我转换XML结构与导轨Hash.from_xml(@xml)
散列,解析器不空数组和零值之间的区分的Rails,而XML描述节点那立即以\
终止为空数组,例如<audio_languages/>
与那些属性为nil="true"
的人被解释为零值。如何转换XML散列在空数组和零值被保留
的XML结构(这是我可以控制如何生成)看起来是这样的:
<response>
<medias>
<media>
<id>1</id>
<name>Media-1</name>
<audio_languages/>
<avg_rating nil="true"></avg_rating>
</media>
<media>
<id>2</id>
<name>Media-2</name>
<audio_languages/>
<avg_rating nil="true"></avg_rating>
</media>
</medias>
</response>
从Hash.from_xml(@xml)
预期结果将是:
{"response"=>{"medias"=>{"media"=>[{"id"=>"1", "name"=>"Media-1", "audio_languages"=>[], "avg_rating"=>nil}, {"id"=>"2", "name"=>"Media-2", "audio_languages"=>[], "avg_rating"=>nil}]}}}
相反,我得到零值对于audio_languages
和avg_rating
:
{"response"=>{"medias"=>{"media"=>[{"id"=>"1", "name"=>"Media-1", "audio_languages"=>nil, "avg_rating"=>nil}, {"id"=>"2", "name"=>"Media-2", "audio_languages"=>nil, "avg_rating"=>nil}]}}}