如何强制java xml dom在<后生成换行符?xml version=“1.0” encoding=“UTF-8”?>?

2022-09-04 04:20:29

我使用此代码来启用换行符:

    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

但我得到以下输出:

<?xml version="1.0" encoding="UTF-8"?><root>
  <child>aaaa</child>
</root>

我想在根元素之前有换行符。我该怎么办?


答案 1

试试这个

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount","2");

答案 2

另一个解决方案是:transformer.setOutputProperty(OutputKeys.INDENT, “yes”);transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC,“yes”);transformer.setOutputProperty(“{http://xml.apache.org/xslt}indent-amount”, “10”);