如何在rails中从xml创建哈希?

时间:2011-08-05 14:05:10

标签: ruby-on-rails xml hash

我正在尝试从xml文件创建哈希

Hash.from_xml <<-EOX
<user>
  <id>1</id>
  <user-name>ryan</user-name>
</user> 
EOX

当我使用上面的代码时它工作正常并给出 { :user => { :id => 1, :user_name => "ryan" } }

我的问题是我将xml部分作为字符串

@xml ="<user><id>1</id><user-name>ryan</user-name></user>" 

尝试做以下但是不能正常工作

Hash.from_xml <<-EOX
  @xml 
EOX

3 个答案:

答案 0 :(得分:5)

您不需要多行字符串EOX:

Hash.from_xml @xml

答案 1 :(得分:0)

Hash.from_xml(@xml)
#=> {"user"=>{"id"=>"1", "user_name"=>"ryan"}}

答案 2 :(得分:0)

怎么样

Hash.from_xml @xml

from_xml方法采用字符串参数。在您的工作示例中,您传递的是多行字符串。