Удалить переводы строк из результата MarkupBuilder
Есть ли способ контролировать вывод MarkupBuilder в groovy и отфильтровывать символы новой строки? У меня есть код, как показано ниже:
import groovy.xml.MarkupBuilder
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
xml.basket(){
fruit (type:"apple", 1)
fruit (type:"orange", 2)
}
который неизменно выводит:
<basket>
<fruit type='apple'>1</fruit>
<fruit type='orange'>2</fruit>
</basket>
Мне бы очень понравилось в одной строке:
<basket><fruit type='apple'>1</fruit><fruit type='orange'>2</fruit></basket>
1 ответ
Решение
Вы можете сделать это с StreamingMarkupBuilder:
import groovy.xml.StreamingMarkupBuilder
def xml = new StreamingMarkupBuilder().bind {
basket(){
fruit (type:"apple", 1)
fruit (type:"orange", 2)
}
}
println xml.toString()
Это распечатывает
<basket><fruit type='apple'>1</fruit><fruit type='orange'>2</fruit></basket>