Techioz Blog

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"))