【发布时间】:2010-11-07 09:27:29
【问题描述】:
为了处理一些客户端信息,我一直在用 hpricot 解析一个 3MB 的 XML 文件...但是 hpricot 需要相当长的时间来定期解析该文件。
我正在考虑将这些数据填充到 MySql 数据库中(每周一次),以便我可以直接在带有 Rails 的 mysql 上处理数据。
该文件基本上是一个 XML Google 联系人文件,其中包含客户信息:姓名、电子邮件、备注……但也有一些联系人包含多个值字段,例如地址、电话。
目前,当我解析数据时,我会生成一个联系人类
class Contact <
Struct.new(:name, :email, :telephones, :addresses, :user_address,:notes)
end
telephones 和 addresses 包含一个具有不同值的数组。
我想如果我想在 mysql 数据库中重新创建这个结构,我需要创建三个表:联系人、电话和地址...
class Contact < ActiveRecord::Base
has_many :addresses
has_many :telephones
end
class Telephone < ActiveRecord::Base
belongs_to :contact
end
class Address < ActiveRecord::Base
belongs_to :contact
end
您将如何将Contact class 数据填充到数据库表中?
有没有办法将数据直接从 XML 文件插入到数据库表中?
任何建议和指导将不胜感激:) 谢谢!
【问题讨论】:
标签: mysql ruby-on-rails xml parsing hpricot