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

XMLTABLE函数查询XML数据无返回结果,命名空间配置问题求助

问题原因

  • 命名空间配置不全,未覆盖XML中所有节点所属的命名空间:
    1. 根节点ARSoapOut属于http://schemas.xmlsoap.org/soap/envelope/命名空间,未在你的命名空间声明中配置,路径匹配第一步就失败
    2. ARResponse、ARResult、diffgram三个节点属于你配置的默认命名空间http://company.com/path,这部分匹配逻辑是正确的
    3. NewDataSet节点显式声明了xmlns="",代表该节点及其子节点属于无命名空间,和你配置的默认命名空间不匹配,后半段路径也无法命中
  • 路径未对应绑定命名空间前缀,导致节点匹配完全失效

修复后的查询语句

XML_TABLE = SELECT * FROM XMLTABLE (
  XMLNAMESPACES(
    'http://schemas.xmlsoap.org/soap/envelope/' AS "soap",
    DEFAULT 'http://company.com/path',
    '' AS "none" -- 绑定空命名空间前缀,匹配NewDataSet及其子节点
  ),
  '/soap:ARSoapOut/ARResponse/ARResult/diffgram/none:NewDataSet/none:FinAccountsReceivable' 
  PASSING XML_VALUE
  COLUMNS 
    SiteID NVARCHAR(5) PATH 'normalize-space(none:SiteID)', -- normalize-space用于去除节点值自带的换行、前后多余空白
    UnitName NVARCHAR(2) PATH 'normalize-space(none:UnitName)',
    Tenant NVARCHAR(50) PATH 'normalize-space(none:Tenant)',
    Company NVARCHAR(20) PATH 'normalize-space(none:Company)',
    Balance DECIMAL(13,2) PATH 'none:Balance'
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:09:02