我正在尝试将哈希转换为xml。所以,我正在使用Hash.to_xml
。但是,它添加了<hash>
标记作为根
一个简单的例子:
> {a: "1", b: {c: "2"}}.to_xml
给出
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<hash>
<d>
<a>1</a>
<b>
<c>2</c>
</b>
</d>
</hash>
但是,我不希望<hash>
标记为root。
DOC说,它可以通过 root 进行配置。所以,我试过
{d: {a: "1", b: {c: "2"}}}.to_xml(root: "")
但是,这会给出一个空<>
而不是<hash>
注意:在我的实际哈希中,我总是有一个根密钥。就像在上面的例子中一样,我将它作为 d 。但是,我不知道它是动态的
答案 0 :(得分:0)
看起来不太好,但是
h = {d: {a: "1", b: {c: "2"}}}
h[h.keys.first].to_xml(root: h.keys.first)
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<d>
<a>1</a>
<b>
<c>2</c>
</b>
</d>
答案 1 :(得分:0)
好的,我明白了。因为,我总是有一个根密钥,我可以这样做:
示例强>
hash = {d: {a: "1", b: {c: "2"}}}
root = hash.keys.first
xml = hash[root].to_xml(root: root)
它会输出:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<d>
<a>1</a>
<b>
<c>2</c>
</b>
</d>