首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在TSQL中输出带有属性和字段值的xml

如何在TSQL中输出带有属性和字段值的xml
EN

Stack Overflow用户
提问于 2011-12-14 17:38:52
回答 1查看 3.5K关注 0票数 2

我想以xml格式输出表中的一些字段。我需要将列的名称放在name-attribute中。输出必须类似于:

代码语言:javascript
复制
<udfields>
<udfield name="infoplanner">Test for the info</udfield>
<udfield name="plant">Amsterdam</udfield>
<udfield name="capability"/>
</udfields>

我试过这样的东西:

代码语言:javascript
复制
SELECT TOP 3
    ko.infoPlanner AS "udfield/name/@infoplanner"
  , ko.plant AS "udfield/name/@plant"
  , ko.capability AS "udfield/name/@capability"
FROM    sometable ko
WHERE   CONVERT(VARCHAR(8), ko.datumtijd, 112) = CONVERT(VARCHAR(8), GETDATE(), 112)
        AND COALESCE(ko.infoPlanner, '') <> ''
FOR     XML PATH('')

提前谢谢你,里昂

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-14 17:56:22

我猜你正在寻找类似这样的东西:

代码语言:javascript
复制
declare @T table
(
  infoplanner int,
  plant int,
  capability int
)

insert into @T
select 1, 2, 3 union all
select 10, 20 ,30

select (select 'infoplanner' as '@name', 
               infoplanner as '*' 
        for xml path('udfield'), type),
       (select 'plant' as '@name',
               plant as '*' 
        for xml path('udfield'), type),
       (select 'capability' as '@name',
               capability as '*' 
        for xml path('udfield'), type)
from @T
for xml path('udfields')

结果:

代码语言:javascript
复制
<udfields>
  <udfield name="infoplanner">1</udfield>
  <udfield name="plant">2</udfield>
  <udfield name="capability">3</udfield>
</udfields>
<udfields>
  <udfield name="infoplanner">10</udfield>
  <udfield name="plant">20</udfield>
  <udfield name="capability">30</udfield>
</udfields>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8502263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档