2015-07-17 3 views
0

Я пытаюсь преобразовать результат в формате XML с помощью хранимой процедуры мой код, как показано нижеПреобразовать результат выбора запроса в формате XML в SQL Server

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

на основе связанного сообщения: 'SELECT K.KeyWord AS Результат от SearchKeyword K FOR XML PATH (''), ROOT ('Root')' – Tanner

+0

извините, я отредактировал свой комментарий, он не обновился –

ответ

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

sql fiddle demo

+2

, вы могли бы закрыть это как дубликат с меньшим количеством кликов, чем требуется, чтобы ответить .... видя, что у вас золотой значок. – Tanner

+0

Спасибо, что заметили, @Tanner –

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 

Позвольте мне знать, если это работает.

+0

Таннер комментариев работает .. спасибо за ответ –

Смежные вопросы