将具有属性的XML保存到SQL Server中的表

黎兹旺·谢赫(Rizwan Shaikh)

嗨,我有XML数据,其属性作为SQL的输入,我需要将此数据插入到我的表中。现“ XML数据”为

<?xml version="1.0" encoding="ISO-8859-1"?>
<MESSAGEACK>

<GUID GUID="kfafb30" SUBMITDATE="2015-10-15 11:30:29" ID="1">
<ERROR SEQ="1" CODE="28681" />
</GUID>

<GUID GUID="kfafb3" SUBMITDATE="2015-10-15 11:30:29" ID="1">
<ERROR SEQ="2" CODE="286381" />
</GUID>

</MESSAGEACK>

我希望将其以以下格式插入

GUID         SUBMIT DATE          ID          ERROR SEQ     CODE
kfafb3   2015-10-15 11:30:29      1          1             28681
kfafb3   2015-10-15 11:30:29      1          1             2868

请帮忙。

har07

查看MSDN中的XPathxml数据类型方法这是一种可能的方式:

declare @xml As XML = '...you XML string here...'
INSERT INTO YourTable
SELECT 
    guid.value('@GUID', 'varchar(100)') as 'GUID'
    ,guid.value('@SUBMITDATE', 'datetime') as 'SUBMIT DATE'
    ,guid.value('@ID', 'int') as 'ID'
    ,guid.value('ERROR[1]/@SEQ', 'int') as 'SEQ'
    ,guid.value('ERROR[1]/@CODE', 'int') as 'CODE'
FROM @xml.nodes('/MESSAGEACK/GUID') as x(guid)

结果 :

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章