Dom4j 如何输出 Document 中的内容到文本

HoneyMoose
Sep 29, 2021

--

假设我们先定义一个 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

--

--

No responses yet