12

Groovy MarkupBuilder を使用して XML を生成しようとしています。

必要な XML は次の形式 (簡略化) です。

<Order>
  <StoreID />
  <City />
  <Items>
    <Item>
      <ItemCode />
      <UnitPrice />
      <Quantity />
    </Item>
  </Items>
</Order>

データはExcelファイルに保存され、簡単にアクセスできます。私の Groovy スクリプトは、Excel を解析して XML を生成します。

例えば

import groovy.xml.*
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)

xml.Order{
  StoreID("Store1")
  City("New York")
  Items(){
    Item(){
      ItemCode("LED_TV")
      UnitPrice("800.00")
      Quantity("2")
    }
  }
}

「items」内に複数の「item」コンテナが存在する場合があります。

私の質問は: 10 個のアイテムを持つ注文 XML を生成したいとしましょう。「アイテム」コンテナ内にforループのようなものを書く方法はありますか? そうすれば、10 個の異なる項目に対して MarkupBuilder コードを記述する必要がなくなります。

同様の質問があります ダイナミックな要素と属性を groovy MarkupBuilder または StreamingMarkupBuilder に追加します。ただし、ループについては説明していません。

4

2 に答える 2