Java: запись DOM в файл XML (проблемы с форматированием) - PullRequest
28 голосов
/ 02 октября 2008

Я использую org.w3c XML API, чтобы открыть существующий файл XML. Я удаляю некоторые узлы и вместо этого добавляю другие.

Проблема в том, что добавляемые новые узлы записываются один за другим, без перевода строки и отступа. Несмотря на то, что файл XML является действительным, человеку очень трудно его проверить.

Есть ли способ добавить отступ или хотя бы новую строку после каждого узла?

Ответы [ 3 ]

55 голосов
/ 02 октября 2008

Я предполагаю, что вы используете Transformer для фактической записи (до StreamResult). В этом случае сделайте это, прежде чем позвонить transform:

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
18 голосов
/ 02 мая 2012
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

источник Как красиво печатать XML из Java?

1 голос
/ 17 ноября 2008

В следующей теме есть несколько хороших примеров «красивой печати»

как красиво печатать XML с Java

Ссылка на мои усилия по решению

...