【问题标题】:How could I customize StaxEventItemWriter to have a control over xml file writing ?如何自定义 StaxEventItemWriter 以控制 xml 文件的写入?
【发布时间】:2015-06-03 23:33:18
【问题描述】:

我需要在 spring 批处理中从数据库记录中生成一个 xml。 Spring batch 提供了 StaxEventItemWriter 用于生成 xml。但我的输出 xml 不是通常的 xml。它有标题和正文,在正文内部它有一个元素,在春季批处理中以块的形式重复。输出 xml 格式如下。我找不到覆盖 StaxEventItemWriter 中提供的方法来实现这一点的方法。

       <Document>
          <header>
           <groupheader>
            ......
           </groupheader>
           <Body>
            <data>
            .......
            </data>
            <record>
            .........
            </record>
            <record>
            .........
            </record>
            <record>
            .........
            </record>
            .........repeating element
          </Body>
    </Document>

【问题讨论】:

  • 您找到获得所需内容的方法了吗?我也有类似的要求。

标签: xml spring spring-batch stax


【解决方案1】:

简而言之,Spring Batch 的StaxEventItemWriter 输出的XML 格式确实是marshaller 配置的函数。看起来您正在尝试生成带有标题的 XML 文档。这是通过StaxEventItemWriter 中可用的标头回调支持的。该回调将在文件打开时执行一次。之后,每个项目都通过编组器进行序列化。您可以在此处的文档中阅读有关标头回调的更多信息:http://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/xml/StaxEventItemWriter.html#setHeaderCallback-org.springframework.batch.item.xml.StaxWriterCallback-

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2017-01-08
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    相关资源
    最近更新 更多