2015-03-30 22 views
0

我需要從數據庫記錄中產生一個xml的春季批處理。 Spring批處理提供了用於生成xml的StaxEventItemWriter。但我的輸出XML不是通常的XML。它具有標題和正文,並且內部正文中包含一個元素,可以在批處理中進行批量處理。輸出xml格式如下。我無法找到一種方法來覆蓋StaxEventItemWriter中提供的方法來實現此目的。我如何定製StaxEventItemWriter來控制xml文件的寫入?

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

回答

0

總之,通過Spring Batch的的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-