导入包含多个表的XML文档

本文关键字:XML 文档 包含多 导入 | 更新日期: 2023-09-27 18:05:46

我有分支机构在晚上上传的XML文档。这个上传过程每天都在进行。每个XML文件包含多个需要插入到SQL Server中的表。在SSIS或c#程序中有解决方案吗?我是这个领域的新手。

导入包含多个表的XML文档

DataSet ds = new DataSet();
ds.ReadXml(@"D:/test.xml");
var connection = new SqlConnection("my connection string");
connection.Open();
// repeat for each table in data set
var adapterForTable1 = new SqlDataAdapter("select * from table1", connection);
var builderForTable1 = new SqlCommandBuilder(adapterForTable1);
adapterForTable1.Update(ds, "Table1");

如果XML文档的模式是固定的,则可以在DataFlow中使用SSIS XML源。它根据模式对XML进行解析,并在此基础上创建输出。因此,您可以从表中获取数据并使用标准OLE DB Destination将其存储到DB中。
XML源具有可配置的属性来指定源XML文件的路径,因此您可以使用For Each file枚举器自动处理文件,并在循环中使用XML源调用DataFlow。