在 T-SQL 中反序列化 XML 对象 [英] Deserialize XML object in T-SQL

查看:27
本文介绍了在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆