我正在使用JSoup解析并输出一个xml文件(当然还要修改它们之间的元素)。
输出文件有一些额外的空格和换行符。我想知道我是否可以用原始格式打印。
原文:
<attributes>
<divisions>4</divisions>
<key>
<fifths>0</fifths>
<mode>major</mode>
</key>
...
新:
<attributes>
<divisions>
4
</divisions>
<key>
<fifths>
0
</fifths>
<mode>
major
</mode>
</key>
...
关于如何从元素中删除空格/进入的任何想法?
我目前正在阅读并打印文档,如下所示:
doc = Jsoup.parse(is, "UTF-8", "", Parser.xmlParser());
BufferedWriter htmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("output.xml"), "UTF-8"));
htmlWriter.write(doc.toString());
答案 0 :(得分:12)
在Aleksandr M的帮助下,我通过以下方式解决了这个问题:
doc.outputSettings().indentAmount(0).prettyPrint(false);
有点不太好,但这似乎也可以解决问题:
htmlWriter.write(doc.toString().replaceAll(">\\s+",">").replaceAll("\\s+<","<"));
答案 1 :(得分:1)
试试这个:
doc = Jsoup.parse(is, "UTF-8", "", Parser.xmlParser());
doc.outputSettings().escapeMode(Entities.EscapeMode.xhtml);
..
..
希望这有帮助