我需要基于SQL Server表生成XML文档。使用以下语法非常简单。
SELECT *
FROM MyTableName
WHERE name = 'Bob'
FOR XML PATH
我正在努力寻找一种方法来自动包含所有元素的数据类型,而无需手动修改XML和包含其他标记。
我希望XML属性反映在表定义中找到的数据类型。
答案 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文件。