Why use XML to Ruby instead of JSON to Ruby?
Choose XML to Ruby when the source payload is XML and you want plain Ruby classes that reflect nested elements and repeated nodes instead of JSON object conventions.
Generate plain Ruby classes from XML samples when your Rails app or Ruby integration still consumes XML feeds and wants PORO transport models.
<user>
<id>101</id>
<name>Ada Lovelace</name>
<active>true</active>
<roles>
<role>admin</role>
<role>editor</role>
</roles>
<profile>
<email>ada@example.com</email>
<score>9.8</score>
</profile>
</user>
class UserModel
attr_accessor :id, :name, :active, :roles
def initialize(id:, name:, active:, roles:)
@id = id
@name = name
@active = active
@roles = roles
end
end
Choose XML to Ruby when the source payload is XML and you want plain Ruby classes that reflect nested elements and repeated nodes instead of JSON object conventions.
Yes. Nested XML elements become additional Ruby classes, and repeated nodes are inferred from the parsed XML sample so the resulting PORO models stay structured.