10
我正尝试使用Groovy MarkupBuilder生成XML。需要在Groovy中使用XML 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。但它没有讨论循环。
我明白了。所以我们可以在标记内部编写常规的Groovy循环代码。我认为标记应该包含标记代码以外的内容。感谢您的详细解答。欣赏它! :) – CodeVenture
感谢您的建议。这帮助我做了很多努力。 – Tung
感谢您的好评!作为一名Groovy新手,我搜索了很多,直到我找到了这个! – eerriicc