В случае, если вам не нужно отступать так много, но несколько разрывов строк, этого может быть достаточно просто для регулярного выражения ...
String leastPrettifiedXml = uglyXml.replaceAll("><", ">\n<");
Код хороший, а не результат из-за отсутствия отступа ,
(Для решений с отступом см. другие ответы.)