xml - 如何参数化grails/groovy xml MarkupBuilder .builder语法?

标签 xml grails groovy markupbuilder

因此,这是我的第一个问题,请保持温柔。我正在编写一些普通的代码,以使用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,我也将其作为 map [:]传递,但到目前为止无济于事。

有谁知道我能做到这一点吗?

任何帮助深表感谢。

谢谢,
保罗

最佳答案

假设您有一个名为productGroupName的变量,则应该可以使用(注意双引号):

builder."prodType:$productGroupName"(ID:"IDPRD$itemCount", internalID:internalID)

这是你的意思吗?

关于xml - 如何参数化grails/groovy xml MarkupBuilder .builder语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10705050/

相关文章:

c# - XML 文档 (1,2) 中存在错误,System.InvalidOperationException : <AuthorizationResult xlms :""> was not expected

java - 从 Jenkins grails 插件启动的 Grails 测试不会获取 gradle build 生成的 jars

grails - 如何与一对多关系进行grails findAllBy

java - 用于将 SGML 转换为 XML 的正则表达式

java - 使用 MOXy 和 XPath,是否可以解码两个属性列表?

xml - 在 Ruby 中解析 XML 文档

xml - 节点名称中包含特殊字符的 Groovy XmlSlurper

grails - 如何伪造验证错误?

Java运行自定义的groovy代码,如何保证groovy安全?

groovy - 如何使用uploadConfigurationName和buildConfigurationName