读取XML数据并构建查询以将值插入SQL Server DB的最佳方法是什么?
有没有适用于这种情况的最佳方法?
个人而言,我使用 DataSet.ReadXML()。然后它会将所有数据放入 DataSet 中的 DataTables 中,这样更容易循环遍历和操作数据。
您是否了解 MS SQL Server 2005/8 的 XML 功能?您可以将强类型的 XML 直接插入到 SQL 中作为列,并强制执行该 XML 符合指定的模式。
您甚至可以在 XML 中索引列并运行 Xquery。
我们能否获得更多关于您想要做什么的信息?
XmlReader
来读取 XML(每次一个子节点),将数据呈现为轻量级 IDataReader
,供 SqlBulkCopy
使用以将数据导入。 就像这样。如果数据更加复杂,请使用 sqlxml / bulk load。编写一个与xml类似结构的数据库模式,然后编写Linq To Xml和Linq To Sql语句将数据插入其中。
你的问题缺乏细节:
如果你有随意的XML文件要插入到数据库表中,可以声明一个XML列(SQL2005+),然后将数据作为字符串插入。
如果你有遵循XML模式的XML文件,可以使用XSD声明一个XML SCHEMA COLLECTION,将XML列绑定到该xml模式集合,并插入数据。SQL Server会根据XSD验证每个插入的XML值。
如果你想手动解析XML数据,可以使用XPath或XPathNavigator或XMLDocument.SelectNodes提取数据,并逐条记录插入到你的数据库表中。
你可能需要更具体地说明你的问题,以确定哪种方法适用于你的情况。