ruby-on-rails - 用 Nokogiri 解析然后保存到数据库?

标签 ruby-on-rails ruby xml nokogiri

<分区>

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

最佳答案

这是一个非常模糊的问题,但我假设您正在查看 Nokogiri,因为您的雪茄品牌列表是 XML 格式的。我还假设您正在使用 ActiveRecord 连接到您的数据库,并且您有一个 Brand 模型。这是示例 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)。

关于ruby-on-rails - 用 Nokogiri 解析然后保存到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405179/

相关文章:

ruby-on-rails - 如何运行 "rails s"

ruby-on-rails - 使用 RSpec 测试使用 CanCan 和 Devise 的 View

XML 验证错误 - 根元素必须匹配文档类型

Java jdom xml解析

java - 自动将 Java 正则表达式转换为 Ruby 正则表达式?

ruby-on-rails - #<Array :0x8e052a0>, 的未定义方法 `total_pages' 如何正确分页?

ruby-on-rails - Ruby on Rails 布局...除了且唯一的错误

javascript - 如何使用鼠标移动网页上的页面部分(段落)?

ruby - 在类变量、rake 任务和 cron 上使用互斥锁的 Rails

python - Python xml.dom 中的非递归(单节点级别)getElementsByTagName