1

我正在尝试使用 Groovy MarkupBuilder 来动态创建我的自定义 XML 结构,如下所示。

<envelope>
  <header>
    <key1>value1</key1>
  </header>
  <body>
    <payload />
  </body>
</envelope>

虽然我得到了它使用下面的代码,但我想将代码的“有效负载”部分动态地注入到一个单独的类中,其中“构建器”作为方法参数传入。

def writer = new StringWriter()
def builder = new MarkupBuilder(writer)

builder.envelope{
    header{
        key1("value1")
    }
    body{
        payload(){    
        }
    }
}

println writer.toString()

4

1 回答 1

2

这就是你要找的吗?

import groovy.xml.MarkupBuilder

def writer = new StringWriter()
def builder = new MarkupBuilder(writer)

builder.envelope {
    header{
        key1("value1")
    }
    body {
       method(builder) 
    }
}

println writer.toString()

def method(b) {
    b.payload2()
}
于 2014-12-13T09:59:39.570 回答