为了处理一些客户端信息,我一直在用 hpricot 解析一个 3MB 的 XML 文件……但是 hpricot 需要相当长的时间来定期解析文件。
我正在考虑将这些数据填充到 MySql 数据库(每周一次),以便我可以直接在带有 Rails 的 mysql 上处理数据。
该文件基本上是一个 XML Google 联系人文件,其中包含客户信息:姓名、电子邮件、注释......但也有一些联系人包含多个值字段,例如地址、电话。
目前,当我解析数据时,我生成了一个 Contact 类
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 文件插入到数据库表中?
任何建议和指导将不胜感激:) 谢谢!