2
我正在使用FOR XML
从SQL Server 05检索Xml格式的数据使用FOR XML选择嵌套的Xml元素 - 最佳实践
在生成的Xml中嵌套元素的最佳做法是什么?
目前我这样做:
Select
(
Select
[Col1] As [Col1],
[Col2] As [Col2]
From [dbo].[NestedTable] As T1
Where T0.[Key] = T1.[Key]
FOR XML PATH('NestedTable'), TYPE
),
[Col1] As [Col1],
[Col2] As [Col2],
From [dbo].[TopLevelTable] As T0
FOR XML PATH('TopLevelTable'), ROOT('TopLevelTableItems')
但是,由于相关的子查询,我担心这个性能。是否有我可以使用的Group By类型功能,以便我可以在两个表上进行常规内连接,并得到Xml,其中顶级节点是唯一的并且具有适当的子节点集合?
编辑 似乎我可能会因为缺乏回应而要求不可能。所以也许更好的问题是:
有没有一种好的/更好的方法从SQL Server生成Xml,或者我应该将我的代码转移到CLR并从那里生成?
嘿米奇,叶我有一个定义良好的XSD,我使用XML之前进行了验证。我得到的问题是获取嵌套的XML结构,而不使用相关的子查询。我是否错过了使用XML模式从SQL生成我的XML的问题? – 2010-02-19 08:26:50