如何使用SQL Server表定义中的属性数据类型生成XML?

时间:2015-06-17 13:15:17

标签: sql-server xml types xsd

我需要基于SQL Server表生成XML文档。使用以下语法非常简单。

SELECT *
FROM MyTableName
WHERE name = 'Bob'
FOR XML PATH

我正在努力寻找一种方法来自动包含所有元素的数据类型,而无需手动修改XML和包含其他标记。

我希望XML属性反映在表定义中找到的数据类型。

1 个答案:

答案 0 :(得分:1)

我通过使用SQL提示自动完成功能找到了答案。输入FOR XML RAW,后,我探索了可以与之配合使用的其他选项。

结果我找到了两个可以与FOR XML RAW

一起使用的选项

FOR XML RAW, XMLDATA

FOR XML RAW, XMLSCHEMA

我使用这些选项运行查询并查看输出生成的xml文档。在我意识到这就是我一直在寻找的之后,我能够找到解释这两个选项以及如何使用它的文档https://msdn.microsoft.com/en-us/library/bb510461.aspx

我略微修改了原始查询,

SELECT *
FROM MyTableName
WHERE 1 = 0
FOR XML RAW, ELEMENTS, XMLSCHEMA

通过在where子句中包含1=0,我只允许生成没有任何数据的属性。现在我所要做的就是将输出复制到notepad ++并将其保存为.xsd文件。