我正在寻找一种将xml文件映射到ruby类的方法。
班级:https://github.com/airbrake/airbrake/blob/master/lib/airbrake/notice.rb
ruby类实际上有一个to_xml方法,它使用构建器生成一个xml文件。
我需要反过来做xml并初始化ruby对象。
对我来说,最好的方法是什么?
表现是一个考虑因素。
答案 0 :(得分:0)
有些人在使用happymapper gem。从他们的例子:
dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
require File.join(dir, 'happymapper')
file_contents = File.read(dir + '/../spec/fixtures/statuses.xml')
class User
include HappyMapper
element :id, Integer
element :name, String
element :screen_name, String
element :location, String
element :description, String
element :profile_image_url, String
element :url, String
element :protected, Boolean
element :followers_count, Integer
end
class Status
include HappyMapper
element :id, Integer
element :text, String
element :created_at, Time
element :source, String
element :truncated, Boolean
element :in_reply_to_status_id, Integer
element :in_reply_to_user_id, Integer
element :favorited, Boolean
has_one :user, User
end
statuses = Status.parse(file_contents)
statuses.each do |status|
puts status.user.name, status.user.screen_name, status.text, status.source, ''
end