Mapping取值咨询

Emma 2023-09-15 10:59:08

你好,我们在处理字段映射时有一个这样的需求:输入的 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>

请帮忙看下该如何实现呢,谢谢

...全文
107 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜菜李多多 2023-09-15
  • 打赏
  • 举报
回复

在知行之桥中可以利用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-->

298

社区成员

发帖
与我相关
我的任务
社区描述
西安知行软件有限公司官方账号。知行 EDI 社区是一个线上公开交流平台,期待与社区成员,一起探索 EDI 价值!基于知行之桥EDI系统,搭建企业级EDI解决方案,助力企业整合供应链、降低库存等。
中间件网络协议团队开发 企业社区 陕西省·西安市
社区管理员
  • 知行EDI
  • 知行EDI顾问Alisa
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧