【发布时间】:2016-06-26 16:08:31
【问题描述】:
我是freemarker的新手,有一个需求需要遍历xml中的递归节点,使用freemarker。
这里是示例 xml 文件的示例:
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<OrderNumber>100001</OrderNumber>
<Source>XYZ</Source>
<OrderSublineNumber>7</OrderSublineNumber>
<OrderSublineType>ADD</OrderSublineType>
<OrderlineInstance>125</OrderlineInstance>
<Lob>MOB</Lob>
<Order>
<OrderNumber>100001</OrderNumber>
<Source>XYZ</Source>
<OrderSublineNumber>7</OrderSublineNumber>
<OrderSublineType>ADD</OrderSublineType>
<OrderlineInstance>125</OrderlineInstance>
<Lob>MOB</Lob>
<Order>
<OrderNumber>100001</OrderNumber>
<Source>XYZ</Source>
<OrderSublineNumber>7</OrderSublineNumber>
<OrderSublineType>ADD</OrderSublineType>
<OrderlineInstance>125</OrderlineInstance>
<Lob>MOB</Lob>
</Order>
</Order>
</Order>
我尝试实现的 Freemarker:
<#macro test>
<ModifyRequest xmlns="http://soa.comptel.com/2011/02/instantlink">
<RequestHeader>
<NeType>BST</NeType>
<OrderNo>${orderSubline.orderNo}</OrderNo>
<ReqUser>${orderSubline.source}</ReqUser>
</RequestHeader>
<RequestParameters>
<Parameter name="ACT_CODE1" value="${orderSubline.orderSublineNumber}"/>
<Parameter name="REQ_TYPE" value="${orderSubline.orderSublineType}" />
<Parameter name="ORDER_INSTANCE" value="${orderSubline.orderlineInstance}" />
<Parameter name="LOB" value="${orderSubline.lob}"/>
</RequestParameters>
</ModifyRequest>
</#macro>
<@test/>
这给了我最后一个 <ORDER> 标签值,因为我需要迭代所有嵌套的 xml <ORDER> 标签。请建议我如何使用 freemarker 实现这一目标。
【问题讨论】:
标签: java xml freemarker