Mssql生成xml片段

时间:2016-05-10 08:06:04

标签: sql-server xml

Select Ident From ObjectsToResend Where Id = 1
FOR XML PATH

此查询生成:

    <row>
       <Ident>1</Ident>
    </row>
    <row>
       <Ident>2</Ident>
    </row>

是否可以像这样生成xml片段?

<Ident>1</Ident>
<Ident>2</Ident>

2 个答案:

答案 0 :(得分:3)

试试这个

Select Ident From ObjectsToResend Where Id = 1
FOR XML PATH('')

答案 1 :(得分:3)

不要接受这个答案,因为Abdul Rasheed已经给出了一个很好的答案......

仅仅为了完整性,有几种方法可以实现这一点:

DECLARE @ObjectsToResend  TABLE(Ident INT, OtherColumn VARCHAR(100));
INSERT INTO @ObjectsToResend VALUES(1,'Test 1'),(2,'Test 2');

SELECT Ident 
FROM @ObjectsToResend
FOR XML Path('')

SELECT Ident AS [*]
FROM @ObjectsToResend
FOR XML Path('Ident')

SELECT Ident AS [node()]
FROM @ObjectsToResend
FOR XML Path('Ident')

SELECT Ident + ''
FROM @ObjectsToResend
FOR XML Path('Ident')