gpt4 book ai didi

java - 在 Spring 中格式化/缩进 JaxB 编码器

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:35 27 4
gpt4 key购买 nike

我正尝试在 Spring 中对来自 Jaxb2Marshaller 类的输出 XML 进行 PrettyPrint/缩进/格式化,即使我正在输入该属性,就像在网络上其他地方看到的那样,文件仍然全部在一行上。这是我的 bean 声明:

<bean id="pingerMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
...
</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>

作者:

<bean id="itemWriter" class="org.springframework.batch.item.xml.StaxEventItemWriter">
<property name="marshaller" ref="pingerMarshaller" />
<property name="overwriteOutput" value="true" />
<property name="resource" value="file:\C:\source\pinger\pingerExample.xml" />
</bean>

我是不是遗漏了什么,或者这是一个错误?

最佳答案

Marshaller.JAXB_FORMATTED_OUTPUT 在编码到 StAX 的 XMLStreamWriterXMLEventWriter 时不适用(这是我假设的 org .springframework.batch.item.xml.StaxEventItemWriter 的意思)。如果您希望 JAXB 格式化结果,您将需要一个基于 OutputStreamWriter 的目标(如果它们可用)。

关于java - 在 Spring 中格式化/缩进 JaxB 编码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19319407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com