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

Azure API Management中set-body的&符号转义问题(Liquid模板场景)

在Azure API Management的Liquid模板中处理URL&符号的正确方式

你遇到的XML解析错误,是因为在XML上下文的Liquid模板里,&属于XML特殊字符,必须转义,但后端只识别原始的&而非&,可以用以下两种方法解决:

方法1:使用Liquid raw标签包裹特殊字符区域

raw标签会让Liquid和XML解析器跳过对标签内内容的特殊字符处理,只渲染动态变量部分:

{% if body.pagination %}
  "url": "/api/device/select?stats=true{% raw %}&{% endraw %}{{body.pagination}}",
{% else %}
  "url": "/api/device/select?stats=true",
{% endif %}

方法2:使用XML CDATA块包裹URL内容

CDATA块在XML中会被当作纯文本处理,不会解析内部的特殊字符,适合嵌套JSON内容的场景:

{% if body.pagination %}
  <![CDATA[
  "url": "/api/device/select?stats=true&{{body.pagination}}",
  ]]>
{% else %}
  <![CDATA[
  "url": "/api/device/select?stats=true",
  ]]>
{% endif %}

两种方法都能避免XML解析错误,同时让后端收到原始的&符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:06:27