小编Cod*_*ure的帖子

使用Groovy中的XML MarkupBuilder动态添加多个XML元素/容器

我正在尝试使用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.但它没有讨论循环.

xml groovy markupbuilder

11
推荐指数
1
解决办法
8517
查看次数

标签 统计

groovy ×1

markupbuilder ×1

xml ×1