我的MyTable
结构如下:
ColumnA | ColumnB
-----------------
ValueA | ValueB
并希望生成如下所示的XML:
<ValueA>ValueB</ValueA>
这不起作用,但它是我得到的最接近的。我收到语法错误;显然你不能在ROOT
函数中使用列值。非常感谢任何建议。
SELECT ColumnB as "data()"
FROM MyTable
FOR XML PATH (''), ROOT(ColumnA)
答案 0 :(得分:0)
一个简单的解决方案是创建一个包含xml的字符串,连接列的值,然后将其转换为xml:
--create table variable to hold sample data
declare @MyTable table( ColumnA nvarchar(50),ColumnB nvarchar(50) )
--populate sample data
insert into @MyTable select 'ValueA', 'ValueB'
select * from @MyTable
SELECT cast('<' + ColumnA + '>' + ColumnB + '</' + ColumnA + '>' as xml)
FROM @MyTable
结果如下: