135
社区成员




你好,我们在处理字段映射时有一个这样的需求:输入的 xml里有多个Items/Shipment/POList层级的循环,然后我们需要先检查这个层级下PONumber这个字段,先判断第一个有没有值,如果第一个有值,取第一个,如果第一个没有值,判断第二个有没有,有就取第二个,没有继续判断第三个,依次类推,XML结构如下:
<Items>
<Shipment>
<POList>
<PONumber>PO001</PONumber>
</POList>
<POList>
<PONumber>PO002</PONumber>
</POList>
<POList>
<PONumber>PO003</PONumber>
</POList>
<POList>
<PONumber>PO004</PONumber>
</POList>
..
</Shipment>
</Items>
请帮忙看下该如何实现呢,谢谢
在知行之桥中可以利用arc Script的xmlDOMSearch和check实现,具体代码如下:
<rsb:set attr="xml.xpath" value="/Items/Shipment/POList" />
<!--遍历POList-->
<rsb:call op="xmlDOMSearch" in="xml" out="result">
<!--判断该当前PONumber是否有值-->
<rsb:check value="[xpath('PONumber')]">
<!--若PONumber有值时,就记录此时的PONumber-->
<rsb:set attr="t.firstPONumber" value="[xpath('PONumber')]" />
</rsb:check>
</rsb:call>
<!--t.firstPONumber中即为第一个有值的PONumber-->