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:
Thanks!
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>
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)
I'm not clear how/what the id
column is supposed to be - care to explain?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With