【问题标题】:SQL XML not returning dataSQL XML 不返回数据
【发布时间】:2011-11-22 14:53:40
【问题描述】:

我正在使用以下代码 它没有返回我的结果。我在这里错过了什么?

    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))    

【问题讨论】:

    标签: sql-server xml openxml


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-11
        • 2018-05-11
        相关资源
        最近更新 更多