我正在尝试使用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。是否有一种方法可以在 "items" 容器内编写类似于 for 循环的代码?这样,我们就不需要为 10 个不同的项目编写 MarkupBuilder 代码。
有一个类似的问题 Adding dynamic elements and attributes to groovy MarkupBuilder or StreamingMarkupBuilder。但它没有讨论循环。