在SQL Server中将选择查询结果转换为XML格式

时间:2015-07-17 15:15:10

标签: sql sql-server sql-server-2008 xml-parsing

我正在尝试使用存储过程将结果转换为XML格式,我的代码如下所示

SELECT 
    K.KeyWord as Result 
FROM 
    SearchKeyword K 
WHERE 
    K.KeyWord LIKE @SearchWord + '%'   
FOR XML PATH 'Root', BINARY BASE64)

但是返回如下

<Root>
   <Result>1</result>
<Root>

<Root>
   <Result>2</result>
<Root>

但我需要像下面的结果删除一个根元素

<Root>
    <Result>1</Result>
    <Result>2</Result>
    .
    .
    .
</Root>

任何人请帮助

2 个答案:

答案 0 :(得分:1)

select K.KeyWord as Result 
from ... as k
where ...
for xml path(''), root('Root'), binary base64

<强> sql fiddle demo

答案 1 :(得分:0)

DECLARE @tab TABLE ([A]NVARCHAR(MAX))

INSERT INTO @tab values ('test')
INSERT INTO @tab values ('test')

SELECT [A] + '' FROM @tab
FOR XML PATH

添加concat以允许您想要的内容。

您的密码:

SELECT K.KeyWord + '' as Result 
FROM SearchKeyword K 
WHERE K.KeyWord LIKE @SearchWord+'%'   
FOR XML PATH 'Root', BINARY BASE64

如果有效,请告诉我。