将XML分层数据导入Sql Server表的最佳方法

时间:2014-11-07 08:02:33

标签: c# asp.net sql-server

我有一个用ASP.NET C#应用程序编写的Web应用程序,用户可以在XML表单中上传他的数据。此数据具有一对多关系。这就是我选择XML over CSV的原因。如果有办法用CSV请求提供一个提示。它不那么冗长。 我的XML有以下结构:

<Parent column1="value1" column2="value2">
    <Child column1="value3" />
    <Child column1="value4" />
</Parent>

此模板重复出现。当我获得上传的文件时,它采用字节数组(byte [])的形式。如何在两个相应的表(父和子)中优雅地导入它? 请记住,我将托管此Web应用程序,因此我可能无法访问命令行工具或运行xp_cmdshell的权限。 我现在的想法是创建System.XmlDocument然后遍历该文档并通过存储过程插入行。对于每个表中的每一行一个语句。 我要问的是:有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您应该查看针对导入大型xml文件而优化的SQLXML批量加载。我过去成功地使用了这个数千条记录并击败了其他xml导入。

http://msdn.microsoft.com/en-gb/library/ms171878.aspx