Windows格式换行符是"\r\n";
unix格式换行符是"\n"。
文件格式只根据出现的第一个换行符来确定。
w3c生成的xml默认换行符是"\r\n",为Windows格式;
dom4j生成的xml默认换行符是"\n",为unix格式;
手动设置换行符format.setLineSeparator("\r\n");
/**
* 格式化xml
*/
public String xmlPretty(org.dom4j.Document document) {
XMLWriter writer = null;
try {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setIndent("");
format.setNewLineAfterDeclaration(false);
format.setEncoding(CharsetUtil.UTF_8);
format.setLineSeparator("\r\n");
// 设置换行
// format.setNewlines(true);
// 生成缩进
// format.setIndent(true);
StringWriter out = new StringWriter();
writer = new XMLWriter(out, format);
writer.write(document);
return out.toString();
} catch (Exception e) {
logger.error("xml格式化失败", e);
String xml = document.asXML();
return xml;
} finally {
try {
if (null != writer) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}