我需要一大堆雪茄品牌才能保存在数据库中。可以用nokogiri完成吗?你知道如何将列表保存到数据库的任何好教程吗?
答案 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)。