2013-03-05 62 views
0

我使用这个实例变量:解析XML,以及如何处理嵌套数组和散列

@response = HTTParty.get("http://www.bart.gov/dev/eta/bart_eta.xml") 

我想用Rails 3.2解析XML:

<% @response.each do |r| %> 
    <% r.each do |root| %> 
    <%= root.class %> 
    <% end %> 
<% end %> 

输出是

String Hash 

我得到了“root.class”的“String Hash”。我不明白它如何可以是“字符串哈希”,我想实现另一个“每个”方法去深入xml层。
“String Hash”是什么意思?

回答

1

您的@响应对象的类型为HTTParty::Response

它看起来像是在包含一个包含两个值的数组:第一个值是一个String,“root”,第二个值是一个Hash。

由于您的ERB代码中没有换行符,因此当您遍历数组时,它将在同一行上打印出String和Hash。

尝试使用root.inspect深入了解您实际正在迭代的值。