xml - 如何使用MarkupBuilder为数据库中的每条记录创建一个XML文件?

标签 xml grails groovy

我对Groovy还是很陌生,所以这是我的第一个挑战:-)

我需要根据数据库查询的结果创建XML文件。

我可以创建一个XML文件,其中包含来自数据库表的所有记录:

FILE.XML

<?xml version="1.0" encoding="UTF-8"?>
<items>
  <Part>12345</Part>
</items>
<items>
  <Part>67890</Part>
</items>

但是我需要的是为每条记录创建一个文件,而不是一个包含所有记录的文件:

FILE1.XML
<?xml version="1.0" encoding="UTF-8"?>
<items>
  <Part>12345</Part>
</items>

FILE2.XML
<?xml version="1.0" encoding="UTF-8"?>
<items>
  <Part>67890</Part>
</items>

有谁知道使用groovy的MarkupBuilder创建多个XML文件的简单方法吗?

最佳答案

你可以做这样的事情...

class Part {
    String partNumber
}

def parts = // get a List of Part objects

parts.eachWithIndex { Part p, int idx ->
    new File("FILE${idx + 1}.xml").withWriter { writer ->
        def builder = new groovy.xml.MarkupBuilder(writer)
        builder.items {
            part(p.partNumber)
        }
    }
}

这将创建类似于FILE1.xml和FILE2.xml的文件,如下所示:
<items>
    <part>12345</part>
</items>

希望对您有所帮助。

关于xml - 如何使用MarkupBuilder为数据库中的每条记录创建一个XML文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24514131/

相关文章:

java - 在 grails 中实现登录系统的最佳方法是什么

java - PLAY框架路由多参数问题

gradle - 如何在不丢失内容的情况下使用groovy编辑vsixmanifest?

php - simplexml_load_string 有错误?

java - 在 Java 8 中,使用 Woodstox 运行时 namespace 前缀会发生变化

xml - 如何用 Go 读取错误的 XML

grails - 在 Controller grails 中渲染

spring - Grails 和 Spring Security - 保存的请求 - 空参数和未绑定(bind)的命令对象

arrays - 使用 Groovy 从文件中读取字符串并将它们放入数组中

java - 如何迭代不同对象的列表?