以下是我最终需要的特定XML:
<?xml version="1.0" encoding="UTF-8"?>
<name>Test name</name>
<values>
<elements>123</elements>
<elements>456</elements>
<elements>789</elements>
</values>
我的哈希看起来像:
{
name: 'Test name' ,
values: [123, 456, 789],
}
这里我想在xml中创建重复的子元素。
那么,我怎样才能将哈希值转换为XML格式呢?
答案 0 :(得分:1)
请注意,您的示例不是有效的XML文档,因为它缺少根元素。假设您想要一个以名为object
:
require 'nokogiri'
h = {
name: 'Test name' ,
values: [123, 456, 789],
}
builder = Nokogiri::XML::Builder.new do |xml|
xml.object {
xml.name h[:name]
xml.values {
h[:values].each { |v| xml.elements v }
}
}
end
puts builder.to_xml
# <?xml version="1.0"?>
# <object>
# <name>Test name</name>
# <values>
# <elements>123</elements>
# <elements>456</elements>
# <elements>789</elements>
# </values>
# </object>