2011-05-26 67 views
3

考慮下面的代碼:Groovy的MarkupBuilder的節點

def builder = new MarkupBuilder() 
builder.root() { 
} 

我想委託根的子的創建到一個單獨的方法。我怎樣才能完成這項任務?需要考慮的一些選項是從方法創建和返回節點或傳遞父節點並將其添加到方法中(這兩個示例都很有用)。

回答

7

Groovy website包含解釋如何實現這一點。

樣品:

def writer = new StringWriter() 
def xml = new groovy.xml.MarkupBuilder(writer) 
xml.books() { 
    createBookNode(xml, 2, 'mrhaki') 
} 

def createBookNode(builder, repeat, username) { 
    repeat.times { 
     builder.person(name: username) 
    } 
} 

println writer.toString() 

輸出將是:

<books> 
    <person name="mrhaki"/> 
    <person name="mrhaki"/> 
</books> 
相關問題