我有一个使用StaxeventItemWriter的春季批处理作业,它工作正常。我想要格式化结果Xml文件,我该怎么做。有没有类似的财产? 这是我的ItemWriter,我只把代码的相关部分简化了,如果需要,我可以添加孔作业。谢谢
<bean id="xmlWriter" class="org.springframework.batch.item.xml.StaxEventItemWriter">
<property name="resource" value="file:src/main/resources/myFile.xml"></property>
<property name="rootTagName" value="Users"></property><bean id="MyMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>model.myModel</value>
</list>
</property>
</bean>
<property name="marshaller" ref="MyMarshaller"></property>
</bean>
<bean id="MyMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>model.myModel</value>
</list>
</property>
</bean>
答案 0 :(得分:0)
您可以使用以下方法激活编组器上的JAXB_FORMATTED_OUTPUT
选项:
<bean id="MyMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>model.myModel</value>
</list>
</property>
<property name="marshallerProperties">
<map>
<entry>
<key>
<util:constant static-field="javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT" />
</key>
<value type="java.lang.Boolean">true</value>
</entry>
</map>
</property>
</bean>