Logic Apps如何从HTTP action返回XML提取Customer No配置跟踪属性
解决方法
你需要先把HTTP接口返回的XML格式字符串转为Logic Apps可识别的XML对象,再通过xpath或者JSON转换提取目标字段,具体操作如下:
方法1:使用xpath直接提取(推荐,定位更精准)
你要提取的CustomerNo节点位于Company/BillTo路径下,完整提取表达式为:
xpath(xml(outputs('HTTP-GetBlob')?['body']), '//BillTo/CustomerNo/text()')?[0]
说明:
- 先用
xml()函数将字符串格式的响应体转为XML对象 xpath()函数的第二个参数为节点路径,//BillTo/CustomerNo/text()表示提取所有BillTo节点下CustomerNo的文本值- 末尾加
?[0]是因为xpath默认返回数组,取第一个匹配的结果
如果你需要提取SellTo节点下的CustomerNo,把xpath路径改成//SellTo/CustomerNo/text()即可。
方法2:转成JSON后按层级提取
如果不熟悉xpath语法,也可以先把XML转成JSON对象再按层级取值,表达式为:
json(xml(outputs('HTTP-GetBlob')?['body']))?['Customer']?['Company']?['BillTo']?['CustomerNo']
配置到跟踪属性
打开你对应HTTP动作的设置面板,找到「跟踪属性」选项,新增一条属性:
- 属性名自定义为
CustomerNo(或你需要的名称) - 属性值填入上面你选的对应表达式
保存工作流后,后续运行时就会自动把提取到的客户编号作为跟踪属性记录。
内容的提问来源于stack exchange,提问作者PRAFUL
相关产品推荐
相关产品推荐

