在 T-SQL 中反序列化 XML 对象 [英] Deserialize XML object in T-SQL
本文介绍了在 T-SQL 中反序列化 XML 对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 XML 对象.我想使用 T-SQL 将它反序列化为一个表.
I've got an XML object. And I want to deserialize it into a table using T-SQL.
<Params>
<type = 1>
<value> 10 </value>
</type>
<type = 2>
<value> abc </value>
</type>
</Params>
如何将这些数据存储到这样的表中:
How can I store this data into a table like this:
谢谢!
推荐答案
您的 XML 无效 - 但如果您有这样的情况:
Your XML is not valid - but if you had something like this:
<Params>
<type ID="1">
<value> 10 </value>
</type>
<type ID="2">
<value> abc </value>
</type>
</Params>
然后您可以使用此 XQuery/SQL 语句来获取您要查找的内容:
then you could use this XQuery / SQL statement to get what you're looking for:
DECLARE @XML XML = '<Params>
<type ID="1">
<value> 10 </value>
</type>
<type ID="2">
<value> abc </value>
</type>
</Params>'
SELECT
Type = TypeNode.value('@ID', 'int'),
NodeValue = TypeNode.value('(value)[1]', 'varchar(50)')
FROM
@XML.nodes('/Params/type') AS XTbl(TypeNode)
我不清楚 id
列应该如何/什么 - 请解释一下?
I'm not clear how/what the id
column is supposed to be - care to explain?
这篇关于在 T-SQL 中反序列化 XML 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文