簡體   English   中英

如何參數化grails / groovy xml MarkupBuilder .builder語法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM