我正在使用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
的配置。