Sql server 将NVP SQL表转换为XML
我有一个包含名称-值对的表。我想将名称-值对序列化为一个xml结构,每个名称-值对使用一个元素,其中Sql server 将NVP SQL表转换为XML,sql-server,xml,sql-server-2008,tsql,xpath,Sql Server,Xml,Sql Server 2008,Tsql,Xpath,我有一个包含名称-值对的表。我想将名称-值对序列化为一个xml结构,每个名称-值对使用一个元素,其中[name]列作为xml元素名称,而[value]列作为xml节点的内容 e、 g.给定以下样本数据 ;with nvp (Name, Value) as ( select 'Food', 'Tacos' union all select 'Height', '5''9"' union all select 'Value', '3.141' ) select * from
[name]
列作为xml元素名称,而[value]
列作为xml节点的内容
e、 g.给定以下样本数据
;with nvp (Name, Value) as
(
select 'Food', 'Tacos' union all
select 'Height', '5''9"' union all
select 'Value', '3.141'
)
select *
from nvp
我想要一个如下所示的xml块:
<root>
<Food>Tacos</Food>
<Height>5'9"</Height>
<Value>3.141</Value>
</root>
玉米饼
5'9"
3.141
当我尝试使用XML路径时,我得到了下面这样的结果,这不是我想要的
<root>
<Name>Food</Name>
<Value>Tacos</Value>
</root>
<root>
<Name>Height</Name>
<Value>5'9"</Value>
</root>
<root>
<Name>Value</Name>
<Value>3.141</Value>
</root>
食物
玉米饼
身高
5'9"
价值
3.141
有人知道怎么做吗?在转换为
XML
之前,先将行转换为列
还要在Xml path()中提到根名称
结果:
<root>
<Food>Tacos</Food>
<Height>5'9"</Height>
<Value>3.141</Value>
</root>
玉米饼
5'9"
3.141
<root>
<Food>Tacos</Food>
<Height>5'9"</Height>
<Value>3.141</Value>
</root>