假设我们先定义一个 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 来进行输出。
https://www.ossez.com/t/dom4j-document/13757