解析XML以及如何处理嵌套的数组和哈希

时间:2013-03-05 07:28:11

标签: ruby ruby-on-rails-3 ruby-on-rails-3.2

我正在使用此实例变量:

@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

我得到&#34; String Hash&#34; for&#34; root.class&#34;。我不明白它是怎样的&#34; String Hash,&#34;我想实现另一个&#34;每个&#34;深入xml层的方法 什么&#34; String Hash&#34;意思?

1 个答案:

答案 0 :(得分:1)

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

看起来它包装了一个包含两个值的数组:第一个值是String,&#34; root&#34;,第二个值是Hash。

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

尝试使用root.inspect深入挖掘您实际迭代的值。