java生成xml文件的时候如何控制xml的缩进格式

java生成xml文件的时候如何控制xml的缩进格式

使用java自带的xml api生成的xml文件,其格式都是没有缩进的,每个element都是顶到最前面,今天终于找到了比较好的处理方法,赶紧记下来.

使用Java标准的JAXP来输出可以使用:

Transformer transformer =

TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(OutputKeys.INDENT, "yes");

transformer.transform(new DOMSource(document), new

StreamResult(outputFile));

中间的红色代码是用于设置缩进的,比较遗憾的是JAXP只抽象出是否设置缩进(indent: yes|no),但并没有抽象出设置缩进量长度的常量(indent-number),所以默认的缩进量长度为0。如果有下面这样一个xml文档:

<root><a><b>c</b></a></root>会被格式化为:

<root>

<a>

<b>c</b>

</a>

</root>

由于JAXP只是一个Java一个处理XML的框架,根据实现的不一样,可以传入实现特定的某个Key来设置缩进量。比如在Java 1.4下面,可以通过下面语句将缩进量设为2:

ransformer.setOutputProperty(

"{www.mianfeiwendang.com}indent-amount", "2");

transformer.setOutputProperty(

"{www.mianfeiwendang.com}indent-amount", "2");

上面两句不同之处仅在于命名空间。

你可能喜欢

  • java反射详解
  • 太奇陈君华mba写作论说文课件
  • java动态绑定
  • java原来如此简单
  • java实习生笔试题
  • java从入门到

java生成xml文件的时候如何控制xml的缩进格式相关文档

最新文档

返回顶部