我最近学习了如何使用 nokogiri 通过以下代码将 XML feed 导入到 Rails 中。
我可以选择直接从 URL 访问它,而不是从 URL 下载我的 Feed。
假设 URL 是 `www.feedurl.com'
我如何更新以下代码以从该 URL 获取它:
class Product < ApplicationRecord
def self.xml_parser
doc = Nokogiri::XML(open("#{Rails.root}/datafeed.xml"))
frothieproducts = doc.xpath('//FeedItems/FeedItem')
frothieproducts.map do |feeditem|
product = Product.new
product.product_name = feeditem.xpath('Name').text
product.product_description = feeditem.xpath('Description').text
product.product_link = feeditem.xpath('Url').text
product.save!
end
end
end
如果您想从
www.feedurl.com
访问 xml 数据,您可以更改此行:
doc = Nokogiri::XML(open("#{Rails.root}/datafeed.xml"))
到
doc = Nokogiri::XML(open("http://www.feedurl.com"))
doc = Nokogiri::XML(URI.open("http://www.feedurl.com"))