输出 JSoup,元素周围不添加空格和换行符

Output JSoup without added spaces and line breaks around the elements

我正在使用 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> 
...

知道如何从元素中删除 spaces/enters 吗?

我目前是这样读入并打印文档的:

doc = Jsoup.parse(is, "UTF-8", "", Parser.xmlParser());


BufferedWriter htmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("output.xml"), "UTF-8"));
        htmlWriter.write(doc.toString());

试试这个:

doc = Jsoup.parse(is, "UTF-8", "", Parser.xmlParser());
doc.outputSettings().escapeMode(Entities.EscapeMode.xhtml);
..
..

希望对您有所帮助

Aleksandr M 的帮助下,我通过以下方式解决了这个问题:

doc.outputSettings().indentAmount(0).prettyPrint(false);

不太好,但这似乎也能解决问题:

htmlWriter.write(doc.toString().replaceAll(">\s+",">").replaceAll("\s+<","<"));