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

如何从XML文档提取数据生成SQL Server查询结果,现有代码运行异常

问题原因

你的现有代码核心问题是OPENXML的XPath路径仅定位到了RuleInfo层级,没有向下遍历到每个Group节点,无法将每个Group标签拆分为独立行输出,同时字段取值的相对路径也存在错误。

修正后代码

USE OPENXMLTesting
GO

DECLARE @XML AS XML, @hDoc AS INT

SELECT @XML = XMLData FROM XMLwithOpenXML

EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML

SELECT ID, name, [Group]
FROM OPENXML(@hDoc, 'FVDL/EngineData/RuleInfo/Rule/MetaInfo/Group') 
WITH  
(
ID [varchar](100) '../../@id', -- 向上回溯两层取Rule节点的id属性
[name] [varchar](100) '@name', -- 取当前Group节点的name属性
[Group] [varchar](1000) '.' -- 取当前Group节点的文本值
)  

EXEC sp_xml_removedocument @hDoc

输出说明

执行上述代码后,会直接得到你要求的输出格式,每个Group标签对应一行数据,ID会自动关联对应所属Rule节点的id值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:09:02