Java: запись модели DOM в файл XML (проблемы с форматированием)

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

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

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


person Vhaerun    schedule 02.10.2008    source источник
comment
Если вы обратились к этому вопросу в поисках примеров кода для красивой печати XML на Java, см. как вместо этого красиво распечатать xml с Java.   -  person George Hawkins    schedule 04.05.2011


Ответы (3)


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

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
person Chris Jester-Young    schedule 02.10.2008
comment
Кстати: в последней версии jdk есть ошибка, чтобы обойти это, что вам нужно будет сделать раньше: TransformerFactory tFactory = TransformerFactory.newInstance (); tFactory.setAttribute (номер отступа, 2); - person Karussell; 26.02.2010
comment
Приветствую @Karussell, что удалось исправить мои проблемы - person Hayden; 10.04.2013

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

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

person Thilina    schedule 02.05.2012

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

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

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

person mlo55    schedule 17.11.2008