【问题标题】:Convert select query result to XML format in SQL Server [duplicate]在 SQL Server 中将选择查询结果转换为 XML 格式 [重复]
【发布时间】:2015-07-17 15:15:10
【问题描述】:

我正在尝试使用存储过程将结果转换为 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>

请大家帮忙

【问题讨论】:

  • 基于链接帖子:SELECT K.KeyWord AS Result FROM SearchKeyword K FOR XML PATH(''), ROOT('Root')
  • 对不起,我编辑了我的评论,但没有更新

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


【解决方案1】:
select K.KeyWord as Result 
from ... as k
where ...
for xml path(''), root('Root'), binary base64

sql fiddle demo

【讨论】:

  • 您本可以将其作为重复项关闭,而点击次数少于回答所需的次数......看到您拥有金牌徽章。
  • 感谢您的关注,@Tanner
【解决方案2】:
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

让我知道这是否有效。

【讨论】:

  • Tanner 评论有效.. 感谢您的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 2018-02-05
  • 2011-07-28
  • 1970-01-01
  • 2013-06-04
相关资源
最近更新 更多