使用groovy将map转出xml
时间: 2023-08-03 10:03:32 浏览: 106
可以使用groovy提供的`MarkupBuilder`类来将map转成xml。
以下是一个示例代码:
```groovy
import groovy.xml.MarkupBuilder
def map = [
name: "John",
age: 30,
address: [
street: "123 Main St",
city: "Anytown",
state: "CA",
zip: 12345
]
]
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
xml.root {
map.each { key, value ->
if (value instanceof Map) {
xml."$key" {
value.each { k, v ->
xml."$k"(v)
}
}
} else {
xml."$key"(value)
}
}
}
println writer.toString()
```
输出结果:
```xml
<root>
<name>John</name>
<age>30</age>
<address>
<street>123 Main St</street>
<city>Anytown</city>
<state>CA</state>
<zip>12345</zip>
</address>
</root>
```
在代码中,我们首先定义了一个map,它包含了一些基本类型和嵌套的map。然后,我们创建了一个`StringWriter`和一个`MarkupBuilder`,并使用`MarkupBuilder`将map转成了xml。在转换过程中,我们使用了递归来处理嵌套的map。最后,我们输出了生成的xml字符串。
阅读全文