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

XSL中出现Invalid XPath expression错误,如何解决?

解决XSL中的「Invalid XPath expression」错误:concat函数语法问题

先看看你触发报错的这段代码:

Unexpected token - "string($GPSCgPoint/@oID)'" select="concat( '2D QA=',format-number($GPSPointH/h:PointQuality/@CQPos,$dec3),' 1S QA=',format-number($GPSPointH/h:PointQuality/@CQHeight,$dec3),' Time='string($GPSCgPoint/@oID)' ')"

问题一眼就能看出来——是concat函数的参数写法犯了语法错误!你在'Time='之后直接硬接了string($GPSCgPoint/@oID),又直接跟了' ',这完全不符合XPath里concat函数的规则:concat要求每个要拼接的内容都是独立参数,必须用逗号分隔,不能把字符串引号和函数调用直接连在一起。

修正后的代码

select="concat( '2D QA=', format-number($GPSPointH/h:PointQuality/@CQPos, $dec3), ' 1S QA=', format-number($GPSPointH/h:PointQuality/@CQHeight, $dec3), 'Time=', string($GPSCgPoint/@oID), ' ' )"

关键修正说明:

  • 把原来错误的'Time='string($GPSCgPoint/@oID)' '拆成了三个独立参数:'Time='、string($GPSCgPoint/@oID)、' ',每个参数之间用逗号隔开
  • 我还给代码加了适当空格,让参数结构更清晰,能帮你避免这类粗心的语法问题

修改后,XPath解析器就能正确识别concat的每个拼接项,「Invalid XPath expression」的错误自然就消失了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:57:26