我需要从数据库记录中弹出批量生成xml。 Spring批处理提供了StaxEventItemWriter来生成xml。但我的输出xml不是通常的xml。它有标题和正文以及内部正文,它有一个元素,可以在块中进行弹簧批处理。输出xml格式如下所示。我找不到覆盖StaxEventItemWriter中提供的方法来实现此目的的方法。
<Document>
<header>
<groupheader>
......
</groupheader>
<Body>
<data>
.......
</data>
<record>
.........
</record>
<record>
.........
</record>
<record>
.........
</record>
.........repeating element
</Body>
</Document>
答案 0 :(得分:0)
简而言之,Spring Batch&#39; StaxEventItemWriter
输出的XML格式实际上是编组配置的一个功能。您似乎正在尝试使用标头生成XML文档。这是通过StaxEventItemWriter
中提供的标头回调支持的。打开文件时,将执行一次回调。之后,每个项目都通过编组器进行序列化。您可以在此处的文档中阅读有关标题回调的更多信息:http://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/xml/StaxEventItemWriter.html#setHeaderCallback-org.springframework.batch.item.xml.StaxWriterCallback-