XML格式化输出到文件
最近公司有个项目:是用xml来存储配置信息的,在系统启动时,加载配置xml配置,系统运行结束后
将配置信息保存回xml文件(运行过程中,某些信息被修改了)。
关于xml数据的读取以及解析,由于java自带的类库中,提供了强大的API,我轻松的就实现了这部份功能:
DocumentBuilder builder
=
DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document d = builder.parse( new File(filename));
Document d = builder.parse( new File(filename));
但是当要将Document写回到文件时,问题来了,起初我使用以下方法来将数据写回到文件:
DOMSource src
=
new
DOMSource(d);
StreamResult result = new StreamResult( new File(filename));
Transformer t = TransformerFactory.newInstance().newTransformer();
t.transform(src, result);
StreamResult result = new StreamResult( new File(filename));
Transformer t = TransformerFactory.newInstance().newTransformer();
t.transform(src, result);
但是当我打开覆写后的xml文件,发现所有的信息都写在一行里了,好像是一个长长的字符串。
我想,这样不行了,这样子怎么进行人工维护啊,如果每次人工维护时,都要先手动将xml文件
换行,排版成像IE输出的那样子,那非得累死不可。于是,就开始上网找,想找个现成的,
google,baidu,csdn,可半天下来,一无所获。
得!还是得自已动手。哈哈,半个小时后事情搞定了。
原码如下:(我的xml文件里没有Node Value,所以这里没有这部份内容)
static
int
len
=
-
4
;
public
void
write(Document d, String fileName) throws IOException
...
...