程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了XML query()有效,value()要求找到单例xdt:untypedAtomic大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决XML query()有效,value()要求找到单例xdt:untypedAtomic?

开发过程中遇到XML query()有效,value()要求找到单例xdt:untypedAtomic的问题如何解决?下面主要结合日常开发的经验,给出你关于XML query()有效,value()要求找到单例xdt:untypedAtomic的解决方法建议,希望对你解决XML query()有效,value()要求找到单例xdt:untypedAtomic有所启发或帮助;

您需要使用此:

SELECT 
        x.@R_489_10613@estpayload.value('declare namespace s="http://blah.ca/API";
            **(** /s:valIDate-student-@R_489_10613@est/s:student-ID **)[1]** ', 'int') 
    AS
        studentID
    FROM 
        xoutput x

您需要放入XPath( ... ) 并添加,[1]以简单地选择该序列的第一个值。

解决方法

我有一个存储为文本的类型化xml文档。因此,为了能够使用XML方法,我通过使用通用表表达式将数据类型转换为xml:

WITH xoutput AS (
  SELECT CONVERT(xml,t.@R_489_10613@estpayload) '@R_489_10613@estpayload'
    FROM TABLE t
   WHERE t.methodid = 1)
SELECT x.@R_489_10613@estpayload.query('declare namespace s="http://blah.ca/api";/s:validate-student-@R_489_10613@est/s:student-id') as studentid
  FROM xoutput x

查询有效,将元素返回给我。但是我只对值感兴趣:

WITH xoutput AS (
  SELECT CONVERT(xml,t.@R_489_10613@estpayload) '@R_489_10613@estpayload'
    FROM TABLE t
   WHERE t.methodid = 1)
SELECT x.@R_489_10613@estpayload.value('declare namespace s="http://blah.ca/api";/s:validate-student-@R_489_10613@est/s:student-id','int') as studentid
  FROM xoutput x

这给了我以下错误:

我用谷歌搜索的内容说XPATH / XQUERY需要放在括号内和/或需要“ [1]”-都没有用。xml中只有一个Student-
id元素,尽管我猜想该架构还允许更多?

另外,我想检索许多元素值-是否有一种方法可以一次声明名称空间,而不是每个方法调用一次?

大佬总结

以上是大佬教程为你收集整理的XML query()有效,value()要求找到单例xdt:untypedAtomic全部内容,希望文章能够帮你解决XML query()有效,value()要求找到单例xdt:untypedAtomic所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。