【发布时间】:2013-12-30 17:00:47
【问题描述】:
我正在尝试使用FOR XML 从 SQL 查询中返回 XML,而且我快到了,但似乎我无法将它转换为我需要的确切格式。
这是我目前构建的语句:
SELECT TOP 1
ID AS '@id'
,1 AS '@version'
,'en' AS '@lang'
,'Joe Smith' AS 'field/Name'
,'email@add.com' AS 'field/Email'
FROM Table
FOR XML PATH ('add')
它返回的 XML 格式:
<add id="123" version="1" lang="en">
<field>
<Name>Joe Smith</Name>
<Email>email@add.com</Email>
</field>
</add>
我需要它如何返回:
<add id="123" version="1" lang="en">
<field name="Name">Joe Smith</field>
<field name="Email">email@add.com</field>
</add>
如何做到这一点,到目前为止,这是我在网上找到的文档中得到的最远距离。请帮忙。
【问题讨论】:
-
这是为一个,但问题是不能将它用于两个,因为不能重复列名,'fieldName' as 'field/@name',[table].[colX] as 'field '
标签: sql sql-server sql-server-2008 tsql for-xml