0

0

Power Automate怎么解析XML内容 XPath函数

畫卷琴夢

畫卷琴夢

发布时间:2025-12-27 09:09:25

|

116人浏览过

|

来源于php中文网

原创

Power Automate 中无法直接使用 XPath 函数解析 XML,推荐先用「XML」操作将 XML 转为 JSON 再解析;也可在 Compose 等支持表达式的动作中用 xpath(xml(), 'path') 提取,或结合 Parse JSON 进行强类型解析。

power automate怎么解析xml内容 xpath函数

Power Automate 中不能直接使用 XPath 函数(如 xpath())解析 XML,因为原生的 XPath 支持在标准操作中已被移除或仅限特定连接器(如 SharePoint、SQL Server)。但你可以通过几种可靠方式实现 XML 解析,核心思路是:先将 XML 转为 JSON 或用表达式提取节点,再用 Power Automate 内置函数处理。

XML 操作转换为 JSON 后解析

这是最推荐、兼容性最好的方法。Power Automate 提供了「XML」操作(位于「数据操作」类别),可将 XML 字符串自动转为结构化 JSON,之后就能用 body()outputs()variables() 配合点号语法(如 item?.name)安全取值。

  • 确保输入是格式良好的 XML 字符串(含根节点,标签闭合,无非法字符)
  • 添加「XML」操作 → 输入 XML 内容(可来自变量、触发器输出或 compose)
  • 后续步骤中,用动态内容选择转换后的节点,或用表达式如:
    outputs('XML')?['root']?['items']?['item'][0]?['title']
  • 注意:数组需用索引或 apply to each;空值用 ? 安全导航避免报错

Compose + 表达式模拟简单 XPath 提取

对轻量级需求(如取某个固定路径的文本值),可用 xml() + xpath() 组合表达式——但仅在「Compose」或条件判断等支持表达式的动作中有效,且要求环境支持(部分云版流程已启用,政府云/本地网关可能受限)。

RoomGPT
RoomGPT

使用AI为每个人创造梦想的房间

下载
  • 表达式示例(提取 Power BI 中的 title 文本):
    xpath(xml(triggerBody()), 'string(/book/title)')
  • 必须先用 xml() 将字符串转为 XML 对象,否则 xpath() 会失败
  • 支持常见 XPath 语法://author/catalog/book[1]/pricecount(//book)
  • 返回结果是字符串,数值需用 int()float() 转换

Parse JSON 配合手动 Schema 精确解析

当 XML 结构稳定、字段明确时,先用「XML」操作转 JSON,再用「Parse JSON」动作定义 schema,能获得更强的类型提示和动态内容自动识别。

  • 运行一次 XML 转换动作,复制输出 JSON 示例
  • 在「Parse JSON」中粘贴该 JSON,点击「生成架构」自动生成 schema
  • 后续所有字段都可通过直观动态内容选取,无需写表达式
  • 适合多层嵌套、含属性(@attr)或混合文本+子节点的复杂 XML

注意事项与避坑提醒

实际使用中容易忽略这些细节,导致解析失败或取值为空:

  • XML 命名空间(xmlns)会让 xpath 失效,建议预处理:用 replace() 清除命名空间声明,或用 local-name() 匹配(如 xpath(xml(...), '//*[local-name()="title"]')
  • XML 中的属性需用 @name 语法,例如 /book/@id;文本内容用 text() 或省略(如 /book/title 默认取文本)
  • 触发器返回的 XML 若是 base64 编码(如 Outlook 附件),需先用 base64ToString() 解码
  • 大 XML(>5MB)可能超出行动限制,建议用 Azure Functions 或 Logic Apps 替代

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

673

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

319

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

344

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1082

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

355

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

671

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

563

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

407

2024.04.29

ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

27

2025.12.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 8万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号