2011-05-26 77 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> 
相关问题