Dom4j 如何输出 Document 中的内容到文本
假设我们先定义一个 Dom4j 中的 Document 对象。
Document document = DocumentHelper.createDocument();
如果我们想将 document 中的内容输出的话,我们是不能用 document.toString() 这个方法的,因为这个方法输出的是 document 这个对象的引用。
因此我们需要使用:
document.asXML()
来将 document 对象中的数据转换为可以读的字符串。
格式化输出
但是 asXML() 这个方法的输出是不会格式化的,所有的字符串全部都在 1 行里面。
因此如果我们需要格式化输出的话,应该使用下面的代码:
try {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
Writer out = new StringWriter();
XMLWriter writer = new XMLWriter(out, format);
writer.write(document);
writer.close();
logger.debug("{}", out);
} catch (IOException e) {
logger.error("Write XML Error.", e);
}
首先使用 OutputFormat 和 Writer 来进行输出。