2

Groovy の MarkupBuilder の出力を制御し、改行文字を除外する方法はありますか? 私は以下のようなコードを持っています:

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>
4

1 に答える 1

2

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>
于 2010-03-30T10:21:22.393 に答える