sql-server – 在T-SQL中反序列化XML对象

前端之家收集整理的这篇文章主要介绍了sql-server – 在T-SQL中反序列化XML对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个XML对象.我想使用T-sql将其反序列化为一个表.
  1. <Params>
  2. <type = 1>
  3. <value> 10 </value>
  4. </type>
  5.  
  6. <type = 2>
  7. <value> abc </value>
  8. </type>
  9. </Params>

如何将此数据存储到这样的表中:

谢谢!

解决方法

你的XML无效 – 但如果你有这样的东西:
  1. <Params>
  2. <type ID="1">
  3. <value> 10 </value>
  4. </type>
  5. <type ID="2">
  6. <value> abc </value>
  7. </type>
  8. </Params>

然后你可以使用这个XQuery / sql语句来获得你想要的东西:

  1. DECLARE @XML XML = '<Params>
  2. <type ID="1">
  3. <value> 10 </value>
  4. </type>
  5. <type ID="2">
  6. <value> abc </value>
  7. </type>
  8. </Params>'
  9.  
  10. SELECT
  11. Type = TypeNode.value('@ID','int'),NodeValue = TypeNode.value('(value)[1]','varchar(50)')
  12. FROM
  13. @XML.nodes('/Params/type') AS XTbl(TypeNode)

我不清楚如何/ id id列应该是什么 – 小心解释?

猜你在找的MsSQL相关文章