rails xml到活动记录对象

时间:2010-05-10 20:57:17

标签: ruby-on-rails xml serialization activerecord

我一直在谷歌搜索一段时间来尝试将传入的XML请求转换为活动的记录对象。我尝试过使用ActiveRecordObject.new.from_xml方法,但它似乎没有处理关系。

例如,假设我有以下xml:

<blog>
  <title></title>
  <blog-pages>
    <blog-page>
      <page-number></page-number>
      <content></content>
    </blog-page>
  </blog-pages>
</blog>

我有以下模型对象:

class Blog < ActiveRecord::Base
    has_many :blog_pages

end

class BlogPage < ActiveRecord::Base
    belongs_to :blog

end

有没有办法将xml转换为具有关系的博客对象?或者我是否需要手动解析XML?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我猛烈地撞了一下头。似乎没有太多的东西可以将XML映射到ActiveRecord对象,而无需手动完成。虽然我的需求与你的需求相似,但我还需要不只是做一个关系对象,我需要做很多事情。我看了很多地方,找不到任何东西。我决定自己解决它,但意识到它不会是一个单行,所以写了一个扩展ActiveRecord的gem。我基于Wayne Robinson的工作:

http://www.wayne-robinson.com/journal/2006/5/1/ruby-on-rails-activerecordbuild_from_xml-function.html

经过几个月的闲暇时间,我完成了我的宝石,你可以在RubyGems查看:https://rubygems.org/gems/xml_active

希望这会有所帮助:) 欢呼声,

迈克尔

更新

xml_active现已正式退役,开发现在专注于data_active(请参阅https://github.com/michael-harrison/data_active),其具有xml_active的功能,但在将来的版本中,我将努力支持其他格式

答案 1 :(得分:0)