【发布时间】:2017-01-30 17:42:09
【问题描述】:
我需要将其中一行转换为具有以下特定格式的 xml:
<root>
<TableID>101</TableID>
<TableName>Teacher</TableName>
<Objects>
<Object>
<id>1</id>
<name>X</name>
<value>abc</value>
<DataType>Int</DataType>
</Object>
<Object>
<id>2</id>
<name>Y</name>
<value>def</value>
<DataType>char</DataType>
</Object>
</Objects>
</root>
我的尝试如下,主要是我对如何创建(对象)节点有疑问:
DECLARE @TableID int = 1,
@TableName NVARCHAR(200)
SELECT @TableID TableID ,
@TableName TableName ,
( SELECT '1' "id" ,
'x' "name" ,
abc "value" ,
'DataType' "DataType"
FOR
XML PATH('Object') ,
TYPE
)
FROM Teacher AS T1
FOR XML PATH('root') ,
TYPE
【问题讨论】:
-
请添加您的表架构。
-
能不能展示一下表格结构
-
请展示一些示例数据和您的查询
-
CREATE TABLE Teacher (id INT, name VARCHAR(10), value VARCHAR(100))
-
您将从哪里获得表ID、表名和数据类型