dom4j格式化输出为String作例子
/**
* 打印文档,String输出
*
* @param doc
* @param encoding
*/
public static String printString(Document doc, String encoding) {
if (encoding == null)// 默认为UTF-8编码
{
encoding = "UTF-8";
}
String docStr = null;
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(encoding);
PrintStream defaultOut = System.out;// 保存原来的sysout
ByteArrayOutputStream out = new ByteArrayOutputStream();
System.setOut(new PrintStream(out)); // 重定向sysout
XMLWriter systemWriter;
try {
systemWriter = new XMLWriter(System.out, format);
systemWriter.write(doc);
systemWriter.close();
// 屏幕输出
System.setOut(defaultOut); // 恢复原来的sysout
docStr = new String(out.toByteArray(), encoding);// 生成String串
} catch (UnsupportedEncodingException e) {
System.err.println(e);
} catch (IOException e) {
System.err.println(e);
}
return docStr;
}