Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将NVP SQL表转换为XML_Sql Server_Xml_Sql Server 2008_Tsql_Xpath - Fatal编程技术网

Sql server 将NVP SQL表转换为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

我有一个包含名称-值对的表。我想将名称-值对序列化为一个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 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>