我正在尝试使用 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")
}
}
}
“项目”内可以有多个“项目”容器。
我的问题是:假设我们要生成具有 10 个项目的 Order XML。有没有办法在“项目”容器中编写类似 for 循环的东西?这样,我们就不需要为 10 个不同的项目编写 MarkupBuilder 代码。
有一个类似的问题将动态元素和属性添加到 groovy MarkupBuilder 或 StreamingMarkupBuilder。但它没有讨论循环。