Вы можете найти xml-to-json
самоцвет полезным. Он поддерживает атрибуты, инструкции обработки и операторы DTD.
Установить
gem install 'xml-to-json'
Использование
require 'xml/to/json'
xml = Nokogiri::XML '<root some-attr="hello">ayy lmao</root>'
puts JSON.pretty_generate(xml.root) # Use `xml` instead of `xml.root` for information about the document, like DTD and stuff
Производит:
{
"type": "element",
"name": "root",
"attributes": [
{
"type": "attribute",
"name": "some-attr",
"content": "hello",
"line": 1
}
],
"line": 1,
"children": [
{
"type": "text",
"content": "ayy lmao",
"line": 1
}
]
}
Это простая производная от xml-to-hash
.