当前位置:  开发笔记 > 数据库 > 正文

SQL Server 2005"FOR XML PATH"具有相同名称的多个标记

如何解决《SQLServer2005"FORXMLPATH"具有相同名称的多个标记》经验,为你挑选了1个好方法。

我有一个类似于以下的XML结构


    
        James
        12
        SELECT
Name as 'name'
Age as 'description xsi:type="me:age"'
Height as 'description xsi:type="me:height"'
FOR XML PATH('person')

但它给我一个关于'description xsi'命名空间丢失的错误.有没有办法使用FOR XML PATH实现这一点.实际查询比这个例子复杂得多,需要花费很多精力才能改变.

谢谢



1> eddiegroves..:

FOR XML PATH有时候有点困难(至少从我所知道的).这可能会让你到达那里:

WITH XMLNAMESPACES('uri' as xsi)    
SELECT    
'me:age'     AS 'description/@xsi:type'    
,age         AS 'description'    
,name        AS 'name'   
,'me:height' AS 'description/@xsi:type'    
,height      AS 'description'    
FROM #test    
FOR XML PATH('person')

生产:


  32
  Alice
  6 Foot


  24
  Bob
  5 Feet 5 Inches

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有