Rails Nokogiri は URL から XML を取得します
概要
最近、次のコードで nokogiri を使用して XML フィードを Rails にインポートする方法を学びました。
URL からフィードをダウンロードする代わりに、URL から直接アクセスするオプションがあります。
URL からフィードをダウンロードする代わりに、URL から直接アクセスするオプションがあります。
その 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"))