SQL XML不返回数据

时间:2011-11-22 14:53:41

标签: sql-server xml openxml

我正在使用以下代码  它没有归还我的结果。我在这里缺少什么?

    declare @iDoc INT           
  EXEC sp_xml_preparedocument @iDoc OUTPUT, '<Ids><Id Val ="40041">11</Id><Id Val ="40042">22</Id></Ids>'   
  Select @iDoc       
  Select Val FROM OPENXML (@iDoc, '/Ids/Id',2) WITH (Val varchar(10))    

2 个答案:

答案 0 :(得分:1)

找到答案 - 将'/ Ids / Id',2替换为'/ Ids / Id',5

答案 1 :(得分:1)

我更喜欢在查询的WITH部分使用xpath。这样,您无需担心OPENXML函数的第3个参数。无论第3个参数如何,以下代码都有效(可以是任何值)。

declare @iDoc INT           

EXEC sp_xml_preparedocument @iDoc OUTPUT, '<Ids><Id Val ="40041">11</Id><Id Val ="40042">22</Id></Ids>'   

Select *
FROM   OPENXML (@iDoc, '/Ids/Id',2) 
WITH   (Val varchar(10) '@Val', 
       Id int '.')

EXEC sp_xml_removedocument @iDoc