1
我爲新手問題提前道歉,但在這裏。假設我正在嘗試使用Groovy的NodeBuilder
生成標記。我想寫點東西像下面這樣:Groovy NodeBuilder:如何通過閉包
nodes = {
'element'(key:'value')
'element'(blah:'123')
}
def createMarkup(additionalElements) {
def result = new groovy.xml.MarkupBuilder().root{
someElement(){
element(y: 'uh oh')
additionalElements() // does not work this way!
element(z: 'yeah')
}
}
}
createMarkup(nodes)
導致:
<root>
<someElement>
<element y='uh oh' />
<element z='yeah' />
</someElement>
</root>
概括地說,我想要做的就是有一個(或多個)外部定義關閉(S)我可以通過我的createMarkup()
,然後粘在樹上合適的水平,即,我想它產生這樣的:
<root>
<someElement>
<element y='uh oh' />
<element key='value' />
<element blah='123' />
<element z='yeah' />
</someElement>
</root>
我怎樣才能做到這一點?