我正在向公共IMDb风格的电视剧集服务发出HTTP请求。我返回了像
这样的数据<title>The X-Files</title>
<episodes>202</episodes>
<ended>Yes</ended>
我想在我的程序中处理这些数据。最终,我想用它来形成SQL
语句并将数据插入我的数据库。
然而,实际上将数据转换为哈希比我预期的要困难。我用谷歌搜索了,并且有许多宝石声称可以提供帮助,比如Simple-XML
- 但他们期望文件,而且当我向它们传递包含XML的对象时似乎没有表现。
这种常见且可接受的方式是什么?
答案 0 :(得分:1)
在使用这样的服务编写接口时,我使用HTTParty。它会自动将XML响应转换为哈希值。如果您想要更详细的答案,请提供您的代码和更多详细信息。
答案 1 :(得分:1)
您也可以使用SimpleXML gem解析普通数据。假设您已经安装了xml-simple
gem,请执行
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),因此我必须将它们包装在另一个父{{3}}中<data>
1}}自己的标签。