在 SQL Server 2008 R2 中,我有一个包含有效 XML 节点行(一列,xml 类型)的表,如下所示:
create table #t (x xml not null);
insert into #t
values ('<service><value1>stuff</value1><value2>more stuff</value2></service>')
, ('<service><value1>I am a different row</value1><value2>more stuff</value2></service>');
我想将这些选择到一个 XML blob 中:
<services>
<service>. . .</service>
<service>. . .</service>
</services>
我正在使用 FOR XML PATH 来尝试这个,但它将列标题“x”作为“服务”节点周围的节点嵌入。
select x
from #t
for XML PATH(''), ROOT('services')
这会产生:
<services>
<x><service>. . .</service></x>
<x><service>. . .</service></x>
</services>
我怎样才能摆脱“x”节点?
我尝试选择 x 作为“”并选择 x 作为“。” 但这些是保留字,查询错误。