在FOR XML AUTO模式下将前缀添加到XML标记

时间:2012-05-30 07:31:58

标签: sql sql-server xml

我想知道是否可以在每个ELEMENT TAG之前添加TAG PREFIXFOR XML AUTO模式的结果中。

我知道RAW模式有可能,但我需要尽可能使其成为层次结构xml结果

这样的事情:

       <prefix:attName>
        <prefix:ID>value</prefix:ID>
        <prefix:name>value</prefix:name>
      </prefix:attName>

RAW模式下的查询将如下所示:

SELECT ID, 
      Name,
FROM TableName 
FOR XML RAW ('prefix'), ROOT('prefix:attName'), ELEMENTS

1 个答案:

答案 0 :(得分:1)

您可以使用别名来实现这一目标:

WITH XMLNAMESPACES ('prefix' AS prefix)
SELECT  ID AS [prefix:ID], 
        Name AS [prefix:Name]
FROM    TableName AS [prefix:attName]
FOR XML AUTO, ROOT('prefix:attName'), ELEMENTS