Я пытаюсь сгенерировать XML с помощью Groovy MarkupBuilder.
Необходимый XML имеет следующую форму (упрощенную):
<Order>
<StoreID />
<City />
<Items>
<Item>
<ItemCode />
<UnitPrice />
<Quantity />
</Item>
</Items>
</Order>
Данные хранятся в файле Excel и легко доступны. Мой скрипт Groovy анализирует Excel и генерирует XML.
e.g.
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")
}
}
}
Внутри «предметов» может быть несколько контейнеров «предмет».
Мой вопрос: скажем, мы хотим сгенерировать заказ XML с 10 элементами. Есть ли способ написать что-то вроде цикла for внутри контейнера "items"? Таким образом, нам не нужно будет писать код MarkupBuilder для 10 разных элементов.
Существует аналогичный вопрос Добавление динамических элементов и атрибутов в groovy MarkupBuilder или StreamingMarkupBuilder. Но это не обсуждает зацикливание.