我一直在谷歌搜索一段时间来尝试将传入的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?
提前致谢。
答案 0 :(得分:1)
我猛烈地撞了一下头。似乎没有太多的东西可以将XML映射到ActiveRecord对象,而无需手动完成。虽然我的需求与你的需求相似,但我还需要不只是做一个关系对象,我需要做很多事情。我看了很多地方,找不到任何东西。我决定自己解决它,但意识到它不会是一个单行,所以写了一个扩展ActiveRecord的gem。我基于Wayne Robinson的工作:
经过几个月的闲暇时间,我完成了我的宝石,你可以在RubyGems查看:https://rubygems.org/gems/xml_active
希望这会有所帮助:) 欢呼声,
迈克尔
更新
xml_active现已正式退役,开发现在专注于data_active(请参阅https://github.com/michael-harrison/data_active),其具有xml_active的功能,但在将来的版本中,我将努力支持其他格式
答案 1 :(得分:0)