使用 dom4j 的来生成 XML不应该用 FileWriter 对象来构建 xml 文档,而应该使用 FileOutputStream
java 中由 Writer 类继承下来的子类没有提供编
码格式处理, 所以 dom4j 也就无法对输出的文件进行正确的格式处理。 这时候所
保存的文件会以系统的默认编码对文件进行保存,在中文版的 window 下 java
的默认的编码为 GBK, 也就是所虽然我们标识了要将 xml 保存为 utf-8 格式但实
际上文件是以 GBK 格式来保存的, 所以这也就是为什么能够我们使用 GBK、 GB2312
编码来生成 xml 文件能正确的被解析,而以 UTF-8 格式生成的文件不能被 xml
解析器所解析的原因