xml to objects
Для этого можно использовать XSD::Mapping из стандартной библиотеки:
require ‘xsd/mapping’ people = XSD::Mapping.xml2obj(File.read("people.xml")) people.person[2].name # => "name3"
Если в имени тэга присутствует дефис, можно сделать так: people[’foo-bar’]
Ну а выполнить обратное преобразование объектного дерева в XML поможет метод: XSD::Mapping.obj2xml