XML ItemWriter, который записывает данные в формате XML - PullRequest
0 голосов
/ 22 января 2019

У меня есть пакетное задание aspring, которое использует 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>

1 Ответ

0 голосов
/ 22 января 2019

Вы можете активировать опцию 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...