使用groovy.xml.MarkupBuilder语法追加到现有的groovy.util.Node?

Dan*_*ner 5 xml groovy

我正在使用一个返回groovy.util.Node的API,允许我自定义生成的XML.我需要将一个子元素附加到Node中,我想知道我是否可以使用MarkupBuilder语法来修改Node.

例如,这里的东西有效,但看起来很笨拙:

withXml { rootNode ->
    def appendedNode = new Node(rootNode, 'foo', [name:'bar'])
    def appendedNodeChild = new Node(appendedNode, 'child', [blah:'baz'])
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用MarkupBuilder-ish语法附加到rootNode?谢谢.

Aar*_*ers 0

new MarkupBuilder().root {
   foo( name:'bar' ) {
     child( blah:'blaz' )
   }
 }
Run Code Online (Sandbox Code Playgroud)

不知道我是否完全理解你的问题,但我相信你可以做上面那样的事情

文档中的这个示例还展示了如何使用 Yield 添加附加内容

http://groovy.codehaus.org/api/groovy/xml/MarkupBuilder.html