我正在尝试使用Groovy MarkupBuilder生成XML.
所需的XML是这种形式(简化):
<Order>
<StoreID />
<City />
<Items>
<Item>
<ItemCode />
<UnitPrice />
<Quantity />
</Item>
</Items>
</Order>
Run Code Online (Sandbox Code Playgroud)
数据存储在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")
}
}
}
Run Code Online (Sandbox Code Playgroud)
"items"中可以有多个"item"容器.
我的问题是:假设我们要生成包含10个项目的Order XML.有没有办法在"items"容器中写一个类似for循环的东西?这样,我们就不需要为10个不同的项目编写MarkupBuilder代码.
有一个类似的问题将动态元素和属性添加到groovy MarkupBuilder或StreamingMarkupBuilder.但它没有讨论循环.