这是我设置为@XMLSave
参数并发送到存储过程
<ROOT>
<P>
<ID>123456789</ID>
<Name>admin</Name>
</P>
<Group>
<GroupCardID>14</GroupCardID>
</Group>
</ROOT>
我尝试使用此命令获取ID
值
EXEC sp_xml_preparedocument @idoc OUTPUT, @XMLSave
但是当我选择值时返回没有值
select *
from OPENXML (@idoc,'/Root/P',2) With(ID int)
答案 0 :(得分:1)
试试这个:
DECLARE @XmlParameter XML = '<ROOT>
<P>
<ID>123456789</ID>
<Name>admin</Name>
</P>
<Group>
<GroupCardID>14</GroupCardID>
</Group>
</ROOT>'
SELECT
@XmlParameter.value('(/ROOT/P/ID)[1]', 'int')
我总是更喜欢本机XQuery支持而不是笨重的旧OPENXML
内容.....
答案 1 :(得分:0)
我终于找到了答案: OpenXML参数区分大小写: 我的XML值以“ROOT”开头,openxml参数是“Root”