Rails Nokogiri 从 url 获取 xml

问题描述 投票:0回答:2

我最近学习了如何使用 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
ruby-on-rails ruby xml nokogiri
2个回答
3
投票

如果您想从

www.feedurl.com
访问 xml 数据,您可以更改此行:

doc = Nokogiri::XML(open("#{Rails.root}/datafeed.xml"))

doc = Nokogiri::XML(open("http://www.feedurl.com"))

0
投票

doc = Nokogiri::XML(URI.open("http://www.feedurl.com"))

© www.soinside.com 2019 - 2024. All rights reserved.