我有一个散列,其中包含一个嵌套了几层的数组:
hash = {
Sender_Name: "Bob",
Consignement: {
Load_Type: "FCL",
JobContainer: [
{c_number: "123"}, {c_number: 456}
]
}
}我想用to_xml把它转换成xml。我能得到的最接近我想要的是
hash.to_xml(skip_instruct: true, skip_types: true, root: "Consolidation2")这给了我:
<Consolidation2>
<Sender-Name>Bob</Sender-Name>
<Consignement>
<Load-Type>FCL</Load-Type>
<JobContainer>
<JobContainer>
<c-number>123</c-number>
</JobContainer>
<JobContainer>
<c-number>456</c-number>
</JobContainer>
</JobContainer>
</Consignement>
</Consolidation2>但是JobContainer数组被包装在一个额外的标记中。我如何让它输出这个(没有额外的JobContainer标记包装数组):
<Consolidation2>
<Sender-Name>Bob</Sender-Name>
<Consignement>
<Load-Type>FCL</Load-Type>
<JobContainer>
<c-number>123</c-number>
</JobContainer>
<JobContainer>
<c-number>456</c-number>
</JobContainer>
</Consignement>
</Consolidation2>更新29 5月18日:
我最终选择了这个post的建议,它给了我想要的东西。
发布于 2018-05-28 18:42:00
我建议你试试xml-simple gem。我不知道确切的输出是什么,但下面是结果:
require 'xmlsimple'
=> true
XmlSimple.xml_out(hash, root_name: "Consolidation2")
=> <Consolidation2 Sender_Name="Bob">
<Consignement Load_Type="FCL">
<JobContainer c_number="123" />
<JobContainer c_number="456" />
</Consignement>
</Consolidation2>您还可以查看documentation以了解更多选项。
https://stackoverflow.com/questions/50562081
复制相似问题