2014-03-07 73 views
0

我正在向公共IMDb風格的電視劇集服務發出HTTP請求。我返回的數據如將HTTP請求轉爲哈希

<title>The X-Files</title> 
<episodes>202</episodes> 
<ended>Yes</ended> 

我想在我的程序中處理這些數據。最終,我想用它來形成一個SQL聲明並將數據插入到我的數據庫中。

但是,實際上將數據轉換爲哈希值比我預期的要困難。我搜索了它,並且有很多旨在提供幫助的寶石,例如Simple-XML - 但它們期望的是文件,而且當我將它們傳遞給包含XML的對象時,似乎並不表現出行爲。

這樣做的常用方法是什麼?

回答

1

您還可以使用SimpleXML gem解析正常數據。假設你已經安裝了xml-simple寶石,不要

require 'xmlsimple' 
xml_str = "<data><title>The X-Files</title><episodes>202</episodes><ended>Yes</ended></data>" 
xml_dict = XmlSimple.xml_in(xml_str) 

xml_str變量可以從HTTP響應進行構建。

注意,您必須<title>The X-Files</title><episodes>202</episodes><ended>Yes</ended>當前數據不是有效的XML(它看起來合法的標記,但不是,你可以檢查here),所以我不得不自己的另一父<data>標籤內包裹起來。

1

在使用類似服務編寫接口時,我使用HTTParty。它將XML響應自動轉換爲哈希。如果您想要更詳細的答案,請提供您的代碼和更多詳細信息。