Power Automate 中无法直接使用 XPath 函数解析 XML,推荐先用「XML」操作将 XML 转为 JSON 再解析;也可在 Compose 等支持表达式的动作中用 xpath(xml(), 'path') 提取,或结合 Parse JSON 进行强类型解析。
Power Automate 中不能直接使用 XPath 函数(如 xpath())解析 XML,因为原生的 XPath 支持在标准操作中已被移除或仅限特定连接器(如 SharePoint、SQL Server)。但你可以通过几种可靠方式实现 XML 解析,核心思路是:先将 XML 转为 JSON 或用表达式提取节点,再用 Power Automate 内置函数处理。
这是最推荐、兼容性最好的方法。Power Automate 提供了「XML」操作(位于「数据操作」类别),可将 XML 字符串自动转为结构化 JSON,之后就能用 body()、outputs() 和 variables() 配合点号语法(如 item?.name)安全取值。
outputs('XML')?['root']?['items']?['item'][0]?['title']
? 安全导航避免报错对轻量级需求(如取某个固定路径的文本值),可用 xml() + xpath() 组合表达式——但仅在「Compose」或条件判断等支持表达式的动作中有效,且要求环境支持(部分云版流程已启用,政府云/本地网关可能受限)。
xpath(xml(triggerBody()), 'string(/book/title)')
xml() 将字符串转为 XML 对象,否则 xpath() 会失
败//author、/catalog/book[1]/price、count(//book)
int() 或 float() 转换当 XML 结构稳定、字段明确时,先用「XML」操作转 JSON,再用「Parse JSON」动作定义 schema,能获得更强的类型提示和动态内容自动识别。
实际使用中容易忽略这些细节,导致解析失败或取值为空:
local-name() 匹配(如 xpath(xml(...), '//*[local-name()="title"]'))@name 语法,例如 /book/@id;文本内容用 text() 或省略(如 /book/title 默认取文本)base64ToString() 解码