我正在使用JAXB来生成XML文件,并且由于业务需要,我目前正在使用XMLEventWriter将其写入其他XML文件的中间:

marshaller.marshal(jaxbElement, xmlEventWriter);

当前设置一些属性,例如:
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, "utf-8");
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);

但是,除了将 JAXB_FORMATTED_OUTPUT 设置为 true 外,我的 XML尚未格式化

有谁知道可能是什么问题?
这仅在我使用XMLEventWriter时发生。

提前致谢。

最佳答案

当您将XMLEventWriter用作接收器时,JAXB编组器仅负责向其发送适当的XML事件,并且XMLEventWriter仍可以选择写出未格式化的XML。我的建议是除了XMLEventWriter外,还要检查Marshaller的配置。

10-08 01:50