11

XMLドキュメントを作成するためにGroovyを使用する多くの例を見てきましMarkupBuilderたが、それらはすべて、ドキュメント内のすべての要素に静的属性を使用しているようです(属性名はすべてコンパイル時に認識されます)。実行時まで属性名がわからないXMLドキュメントを作成しようとするとどうなりますか?このような問題を解決するために必要な構文はまだわかりません。

4

1 に答える 1

7

キーとして属性名を持つマップがそれを行う必要があります。aキーではなくの値を使用することをGroovyが認識できるように、キーを中かっこで囲む必要がありaます。

import groovy.xml.MarkupBuilder

new MarkupBuilder().root {
  def a = 'dynAttr'
  node( [ (a):'woo' ] )
}

生成します:

<root>
  <node dynAttr='woo' />
</root> 
于 2012-10-09T07:50:58.917 に答える