Эквивалент нормализующей функции DOM в JDOM
Кто-нибудь может сказать мне функцию, аналогичную normalize() DOM в JDOM? Я на самом деле хочу нормализовать содержимое XML и сериализовать его через XMLSerializer.
Спасибо Сэм
1 ответ
Сандип.
JDOM не имеет прямой концепции "нормализации". Написание одного не было бы особенно трудным, все же. С другой стороны, вы намереваетесь вывести XML в некотором формате, и все механизмы вывода JDOM нормализуют данные для вас.
Так, например, если вы хотите вывести документ JDOM в виде простого текста XML, вы можете использовать класс XMLOutputter в org.jdom2.output и использовать соответствующий экземпляр org.jdom2.output.Format (скажем, Format.getPrettyFormat() - не используйте getRawFormat(), поскольку необработанный форматер вообще не нормализует вывод).
В дополнение к выводу документа JDOM в виде текстового XML, вы также можете выводить в документ DOM, четный поток SAX и даже потоки StAX. Каждый из них будет производить "Нормализованный" выход.
Итак, что вы хотите сделать (вероятно), это:
Document mudoc = .....;
XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat());
xout.output(mydoc, somestream);
Рольф