You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Automate读取HTML表格报错:未声明实体'nbsp'解决方法求助

解决邮件HTML转XML时的nbsp实体错误问题

核心原因

XML只默认支持&、<、>、"、'这几个实体,邮件HTML里的 不在这个范围内,直接传入xml()函数就会触发未声明实体的错误。

具体解决步骤

  • 先替换HTML实体为XML兼容格式
    在ComposeHTML动作之前新增一个Compose动作,用replace()函数把 替换成XML可识别的十进制Unicode实体:

    replace(triggerBody()?['body'],' ',' ')
    

    要是邮件里还有其他类似的HTML实体(比如©、®),可以嵌套多个replace处理:

    replace(replace(triggerBody()?['body'],' ',' '),'©','©')
    
  • 用处理后的内容调用xml()函数
    将上述Compose动作的输出作为xml()函数的参数,示例:

    xml(outputs('Compose_Replace_Entities'))
    
  • 复杂场景的快捷处理方案
    如果邮件里存在大量未知的HTML实体,直接用编码解码组合来批量转换:

    xml(decodeUriComponent(encodeUriComponent(triggerBody()?['body'])))
    

    原理是先将HTML转成URI编码格式,再解码还原,这样大部分HTML实体都会被转换成Unicode字符,XML就能正常解析。

额外提醒

如果邮件HTML本身格式不规范(比如标签未闭合),就算替换了实体仍可能报错,这时候需要先简单修复HTML结构,比如用字符串函数补全闭合标签。测试时可以先把邮件HTML内容输出到Compose动作中,排查是否还有未处理的特殊实体。

内容的提问来源于stack exchange,提问作者achyuta kaushik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:22:34