用Nokogiri解析然后保存到数据库?

时间:2011-06-19 21:19:26

标签: ruby-on-rails ruby xml nokogiri

我需要一大堆雪茄品牌才能保存在数据库中。可以用nokogiri完成吗?你知道如何将列表保存到数据库的任何好教程吗?

1 个答案:

答案 0 :(得分:5)

这是一个非常模糊的问题,但我假设您正在关注Nokogiri,因为您的雪茄品牌列表是XML格式。我还假设您使用ActiveRecord连接到您的数据库并且您拥有品牌型号。这是示例XML:

<brands>
    <brand><name>Brand One</name></brand>
    <brand><name>Brand Two</name></brand>
    <brand><name>Brand Three</name></brand>
</brands>

我假设您的品牌型号有一个名为“名称”的属性。要解析上面的内容并保存它,你可以这样做:

require 'nokogiri'
doc = Nokogiri::XML( File.read("/path/to/file.xml") )
doc.xpath("/brands/brand/name").each do |record|
    Brand.create(:name => record.text)
end

如果您对xpath语法有任何疑问,w3schools可以提供与任何人一样好的语法提醒(http://www.w3schools.com/xpath/xpath_syntax.asp)。