Grails / Groovy XML MarkupBuilder .Builderの構文をパラメータ化する方法
-
13-12-2019 - |
質問
これは私の最初の質問ですのでとても優しくしてください。MarkupBuilderを使用してXMLを生成するためのGroovyコードをいくつか書きます。問題は、私がたくさんの異なる製品タイプのために類似の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を生成するために、PARAMリストとともに様々な値を渡すことを可能にすることを意味します。
オンライン探しているProductGroupNameを$ {}で周囲を試してみましたが、私はそれをマップ[:]として渡すこともあります。
誰もが私がこれを達成できる方法を知っていますか?
あらゆる助けが大いに評価されています。
ありがとう、 Paul。
解決
productGroupName
という変数があると仮定すると、使用できるはずです(二重引用符に注意してください):
builder."prodType:$productGroupName"(ID:"IDPRD$itemCount", internalID:internalID)
.
あなたが何を意味するのか?
所属していません StackOverflow