如何在Logic Apps中提取XML的Label节点里NOTETYPE对应的值?
在Logic Apps中提取XML处理指令的指定分割值
要实现提取XML中<?Label XML|NOTETYPE|12345|SUCCESS?>处理指令的第2个分割值(即NOTETYPE),可以通过Logic Apps的内置表达式完成,具体如下:
核心表达式写法
假设你的XML内容存储在名为xmlContent的变量(或从触发器/其他动作输出获取),直接使用以下表达式即可得到目标值:
split(xpath(xml(variables('xmlContent')), "processing-instruction('Label')"), '|')[1]
表达式拆解
xml(variables('xmlContent')):将字符串格式的XML转换为Logic Apps可识别的XML对象,为XPath查询做准备xpath(..., "processing-instruction('Label')"):通过XPath语法精准定位到名为Label的处理指令,返回其文本内容XML|NOTETYPE|12345|SUCCESSsplit(..., '|'):用|作为分隔符,将文本分割成数组["XML", "NOTETYPE", "12345", "SUCCESS"][1]:取数组索引为1的元素(数组索引从0开始),也就是目标值NOTETYPE
实际使用示例
你可以把这个表达式直接放到Compose动作的输入框中,或者在需要使用该值的其他动作(如条件判断、数据存储)中直接引用。如果XML内容来自触发器的输出(比如HTTP请求的body),只需把variables('xmlContent')替换为对应的触发器输出路径即可,例如:
split(xpath(xml(triggerBody()), "processing-instruction('Label')"), '|')[1]
内容的提问来源于stack exchange,提问作者Steve Moro
相关产品推荐
相关产品推荐

