我正在尝试将哈希转换为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>
标签作为根。
DOC说,它可以通过root进行配置。所以,我试过了
{d: {a: "1", b: {c: "2"}}}.to_xml(root: "")
但是,这给出了一个空<>
而不是<hash>
注意:在我的实际哈希中,我总是有一个根密钥。就像在上面的例子中,我把它作为d。但是,我不知道它是动态的
好的,我知道了。由于我总是有一个根密钥,我可以像这样做:
例
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>
它看起来不太好,但是
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>