我经过大量的谷歌搜索,却没有找到答案。我无法从包含来自Web服务的数据的XML列中检索数据,使用的是sp_OAGetProperty。
XML列包含...
当我执行以下语句时,得到了NULL的返回值(但是如果我删除所有XML命名空间,则可以正常工作):
XML列包含...
<ArrayOfCustomerInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<Customer CustCode="001">
<CustName>John</CustName>
<Queues>
<Q>
<No>10</No>
<Line>1</Line>
</Q>
</Queues>
</Customer>
</ArrayOfCustomerInfo>
当我执行以下语句时,得到了NULL的返回值(但是如果我删除所有XML命名空间,则可以正常工作):
SELECT a.b.value('@CustCode','varchar(4)') AS Code
,a.b.value('CustName[1]','varchar(20)') AS Name
,c.d.value('No[1]','int') AS QNo
,c.d.value('(Line)[1]','int') AS QLine
FROM PGHRMS_Employees x
CROSS APPLY x.data.nodes('/ArrayOfCustomerInfo/Customer') AS a(b)
CROSS APPLY a.b.nodes('Queues/Q') AS c(d)
请给我一些建议。我需要在SQL SERVER上实现(这个功能):(
如果有人想要复制它,我已经将脚本粘贴在: http://pastebin.com/ueZGidyL
非常感谢您提前的帮助!!!