2012-01-20 9 views
5

Я хочу отформатировать выходной XML, созданный Xstream, чтобы сделать его более читаемым. В настоящее время после каждого элемента добавляется новая строка, но я хочу, чтобы новая строка добавлялась после каждого атрибута. Есть ли способ сделать это?Формат XML, созданный Xstream

Pretty Print Writer используется по умолчанию для форматирования вывода xml, но этого недостаточно для меня. Я хочу, чтобы новая строка была добавлена ​​после каждого

+0

http: // xst ream.codehaus.org/manual-tweaking-output.html – Perception

ответ

2

Взгляните на их учебное пособие по tweaking the output.

+0

Я видел этот учебник, но это не помогло. – Mady

+0

Ссылка мертва –

+1

Спасибо @ GáborLipták - ссылка была исправлена ​​ –

4

XStream включает PrettyPrintWriter

После создания вашего XStream ...

XStream xstream = //...whatever 

Вместо:

// p is my object needing xml serialization 
xstream.toXML(p) 

использовать что-то вроде этого, чтобы сделать это довольно:

BufferedOutputStream stdout = new BufferedOutputStream(System.out); 
xstream.marshal(p, new PrettyPrintWriter(new OutputStreamWriter(stdout))); 
+1

Итак, как я могу сказать это с отступом, скажем ... четыре пробела? Кажется, я не могу найти способ для этого? Поддерживается ли это? – carlspring

+2

@ carlspring Используйте альтернативный конструктор, который принимает chararray отступа, например. 'new PrettyPrintWriter (автор, новый char [] {'', '', '', ''})' –

+0

@aetheria: Спасибо, я сам натолкнулся на это решение. – carlspring

Смежные вопросы