如何通过调用方法或闭包将节点添加到 Groovy Markup Builder 中的不同父节点
How to add nodes under to different parents in Groovy Markup Builder by calling a method or closure
我想生产以下xml。
我不想通过重复相同的方法在 xpm 和 MyRoot 中添加 xsv 块 code.Instead 我想调用一个方法或闭包,这样它将 return xsv 块添加到各自的父节点中( MyRoot 和 xpm)
<MyRoot>
<xsv>
<action>create</action>
<actionID>4</actionID>
</xsv>
<xpm>
<xsv>
<action>create</action>
<actionID>4</actionID>
</xsv>
</xpm>
</MyRoot>
试试下面的代码:
import groovy.xml.MarkupBuilder
def writer = new StringWriter()
def builder = new MarkupBuilder(writer)
def out = builder.MyRoot {
addXsv(builder, 'create', 4)
xpm() {
addXsv(builder, 'drop', 5)
}
}
def addXsv(builder, name, id) {
builder.xsv() {
action name
actionID id
}
}
println writer
我想生产以下xml。 我不想通过重复相同的方法在 xpm 和 MyRoot 中添加 xsv 块 code.Instead 我想调用一个方法或闭包,这样它将 return xsv 块添加到各自的父节点中( MyRoot 和 xpm)
<MyRoot>
<xsv>
<action>create</action>
<actionID>4</actionID>
</xsv>
<xpm>
<xsv>
<action>create</action>
<actionID>4</actionID>
</xsv>
</xpm>
</MyRoot>
试试下面的代码:
import groovy.xml.MarkupBuilder
def writer = new StringWriter()
def builder = new MarkupBuilder(writer)
def out = builder.MyRoot {
addXsv(builder, 'create', 4)
xpm() {
addXsv(builder, 'drop', 5)
}
}
def addXsv(builder, name, id) {
builder.xsv() {
action name
actionID id
}
}
println writer