Java如何设置JAXB输出的XML格式化(带缩进)

admin 百科 12
Java中让JAXB输出格式化XML,关键在于设置Marshaller.JAXB_FORMATTED_OUTPUT为true;启用后自动添加两空格缩进和换行,但不可配置缩进符类型或宽度。

Java如何设置JAXB输出的XML格式化(带缩进)-第1张图片-佛山资讯网

Java中让JAXB输出格式化(带缩进)的XML,关键在于配置MarshallerMarshaller.JAXB_FORMATTED_OUTPUT属性为true

启用格式化输出

在调用marshal()之前,设置格式化开关即可:

  • 获取Marshaller实例后,调用setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true)
  • 该属性值必须是Boolean.TRUEtrue(推荐用true,更简洁)
  • 不设置或设为false时,默认输出为单行无缩进XML

完整示例代码

以下是最小可运行示例:

Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
// 可选:指定编码,避免乱码
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
marshaller.marshal(obj, System.out); // 输出到控制台,带缩进

登录后复制

若输出到文件,可传入FileOutputStreamFileWriter,格式化效果同样生效。

标签: java apache 编码 stream 格式化输出

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~