Mar*_*rty 2 xml groovy builder markupbuilder
(对不起奇怪的标题......)
我想使用groovy构建器系统来创建一个xml.
我的问题是,我希望有一些信封,用户不必关心.
一个例子:
def builder = new groovy.xml.MarkupBuilder()
builder.foo() {
bar('hello')
}
Run Code Online (Sandbox Code Playgroud)
这应该创造让我们说
<Something id:'123'>
<AnyInfo>
<foo>
<bar>hello</bar>
</foo>
</AnyInfo>
</Something>
Run Code Online (Sandbox Code Playgroud)
这样在后台有一个xml结构,用户可以在预定义的节点上添加他的xml结构(例如'AnyInfo')
构建器的外观如何,我可以在信封中间的某处添加带有markupbuilder(或任何其他构建器)的节点?
我希望这在某种程度上是可以理解的?!
谢谢马蒂
您可以使用闭包轻松完成此操作.创建一个闭包来创建包装器.然后,您可以动态提交创建实际内容的闭包.例:
def writer = new StringWriter()
def builder = new groovy.xml.MarkupBuilder(writer)
def createWrapper = {Closure c->
builder.Something(id:123) {
AnyInfo() {
c()
}
}
}
createWrapper {
builder.foo() {
bar('hello')
}
}
println writer.toString()
Run Code Online (Sandbox Code Playgroud)
由此创建的结果是您要查找的示例XML.
| 归档时间: |
|
| 查看次数: |
1541 次 |
| 最近记录: |