这是我关于 SO 的第一个问题,所以要温柔。我正在编写一些常规代码来使用 MarkupBuilder 生成 xml。问题是我必须为许多不同的产品类型生成许多类似的 xml,如果我不能对其进行参数化,代码会变得很大。向您展示可能会帮助您更好地理解:
def writer = new StringWriter()
def builder = new groovy.xml.MarkupBuilder(writer)
builder.'cr:request'('xmlns:prodType': 'http://www.myurl/ProductType', 'xmlns:cr': 'http://www.myurl/customerRequest')
{
...
// Bla bla lots of elements and attributes
...
builder.'prodType:ProductGroupName'(ID:"IDPRD"+itemCount, internalID:internalID)
{
productGroup("PGroup")
productName("PName")
ProductSpecificDetails()
{
param("paramA")
stringValue("valA")
param("paramB")
stringValue("valB")
...
我正在尝试在上面的代码中参数化 'prodType:ProductGroupName' 甚至只是 ProductGroupName。这意味着我将允许我将各种值与参数列表一起传递,以便为不同的产品动态生成 xml。
在网上看,我试过用 ${} 包围 ProductGroupName ,我也将它作为地图 [:] 传递,但到目前为止无济于事。
有谁知道我怎么能做到这一点?
任何帮助深表感谢。
谢谢,保罗。