[英]How do I parameterize grails/groovy xml MarkupBuilder .builder syntax?
因此,这是我的第一个问题,请保持温柔。 我正在编写一些普通的代码,以使用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,并且也将其作为地图[:]传递,但到目前为止无济于事。
有谁知道我怎么能做到这一点?
任何帮助深表感谢。
谢谢,保罗。
假设您有一个名为productGroupName
的变量,则应该可以使用(请注意双引号):
builder."prodType:$productGroupName"(ID:"IDPRD$itemCount", internalID:internalID)
这是你的意思吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.