Java: запись DOM в файл XML (проблемы с форматированием)
Я использую org.w3c
XML API
, чтобы открыть существующий файл XML
. Я удаляю некоторые узлы, и вместо этого добавляю другие.
Проблема заключается в том, что новые добавляемые узлы записываются один за другим, без новой строки и без отступов. Хотя верно, что файл XML
действителен, человеку очень сложно его изучить.
Есть ли способ добавить отступ или, по крайней мере, новую строку после каждого node?
Ответы
Ответ 1
Я предполагаю, что вы используете Transformer
для выполнения собственно записи (в StreamResult
). В этом случае сделайте это, прежде чем вы вызовете transform
:
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
Ответ 2
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
Источник
Как правильно печатать XML с Java?
Ответ 3
В следующем потоке есть несколько хороших примеров "красивой печати".
как довольно печатать xml из Java
Ссылка на мои усилия по решению