在T-SQL中反序列化XML数据对象

时间:2012-11-26 10:39:02

标签: tsql

  

可能重复:
  Deserialize XML object in T-SQL

我有一个XML对象,我想使用T-SQL将他反序列化为一个表。

<Params>
    <paramtype type = '1'>
        <value> abc</value>
    </paramtype>

    <paramtype type = '2'>
        <value> 123</value>
    </paramtype>
</Params>

如何将所有这些数据存储到如下表格中:
enter image description here

1 个答案:

答案 0 :(得分:1)

你可以得到像这样的值

select  
    x.v.value('@type','int') as [type],
    x.v.value('.','varchar(50)') as [value]
from    
    @x.nodes('/Params/paramtype') x(v)

其中@x是您的XML对象。

并将它们插入到具有ID标识的表中(或使用row_number()生成一个)