2010-01-29 93 views
1

我知道有很多关于此主题的条目,但我还没有看到如何存储数据的完整图片。我试图让一个系统读取然后解析然后存储关于Yahoo Upcoming API事件的信息。解析然后将API中的XML数据存储在Ruby on Rails中

的URL返回一个非常简单的XML,看起来像这样

<event> 
<id>489875230</id> 
<description>Open Bar</description> 
<status>Live</status> 
<latitude>29.74</latitude> 
<longitude>-95.37</longitude> 
</event> 

我一直在读入REXML和其他人,但我怎么走元素的值,并将其存储到我的模型? 目标是打印XML中所有所需元素的值到文本框以允许编辑数据,然后让用户保存在数据库中......我只是很难找出如何去做一旦数据被解析,就有了数据。

任何帮助,链接或建议将真的帮助我很多。

回答

4

设置具有相同属性的模型,将xml解析为散列,然后使用散列创建模型?

class CreateEvent < ActiveRecord::Migration 
    def self.up 
    create_table :events do |t| 
    t.id :id 
    t.string :decription 
    t.string :status 
    t.decimal :latitude 
    t.decimal :longitude  #(you'll want to set the precision and scale properly here) 
    end 
end 


data = Hash.from_xml <<EOX 
<event> 
<id>489875230</id> 
<description>Open Bar</description> 
<status>Live</status> 
<latitude>29.74</latitude> 
<longitude>-95.37</longitude> 
</event> 
EOX 

Event.create!(hash[:event]) 
相关问题