Rails 解析 xml 的 api 接口

sjzg001 · 2014年02月23日 · 最后由 xiaogui 回复于 2014年02月24日 · 2812 次阅读

**** 故宫角楼 女 1 61 LM6A5366-1-1.jpg JPEG 2 49 2014-02-10 故宫角楼 女 1 61 LM6A5366-1-1.jpg JPEG 2 49 2014-02-10

怎么用 nokogiri 解析 xml 循环得到 item 元素中的 title、photo_name 等的值保存到数据库中

一行代码解决

Record.create(RecursiveOpenStruct.new(ActiveSupport::XmlMini.parse(string)).rss.channel.item.map { |item| item.map { |key, value| [key, value.values.first] }.to_h })

#1 楼 @swordray 不明白 ActiveSupport::XmlMini RecursiveOpenStruct.new 这个是插件吗

ActiveSupport::XmlMini 是 Rails 模块

gem RecursiveOpenStruct 是为了让 Hash 代码优雅

请善用 Google

还是想要用 gem nokogiri 解析 xml

require 'nokogiri'

Nokogiri::XML(xml_str).css('item').each do |item|
  title = item.at_css('title').content
  photo_name = item.at_css('photo_name').content
end

详细内容参考官方文档 http://nokogiri.org/tutorials

#3 楼 @swordray #5 楼 @reyesyang 这种大哥你们是救不了的,根本懒得动脑子和搜索

#6 楼 @Yujing_Z 你好!因为时间急,才这么问的。谢谢

#9 楼 @imlcl 就是用这个,可棒

需要 登录 后方可回复, 如果你还没有账号请 注册新账号