我正在使用 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。我的建议是除了 Marshaller
之外,还要检查 XMLEventWriter
的配置。
关于java - JAXB 使用 XMLEventWriter 生成未格式化的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12863157/