请考虑以下代码:
def builder = new MarkupBuilder() builder.root() { }
我想将root的子代的创建委托给一个单独的方法.我怎样才能完成这项任务?要考虑的一些选项是从方法创建和返回节点,或者传入父节点并在方法中添加它们(两个示例都很有用).
解决方法
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>