Удалить переводы строк из результата MarkupBuilder - PullRequest
2 голосов
/ 30 марта 2010

Есть ли способ управлять выводом MarkovBuilder в 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 Ответ

2 голосов
/ 30 марта 2010

Вы можете сделать это с 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>
...