2013-03-05 82 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深入瞭解您實際正在迭代的值。