读取XML数据并构建插入SQL Server数据库的查询的最佳方法是什么?

6

读取XML数据并构建查询以将值插入SQL Server DB的最佳方法是什么?

有没有适用于这种情况的最佳方法?

7个回答

1

个人而言,我使用 DataSet.ReadXML()。然后它会将所有数据放入 DataSet 中的 DataTables 中,这样更容易循环遍历和操作数据。


1

SQL 2005具有非常出色的XML功能。这是一种使用XML参数的技术。


0

您是否了解 MS SQL Server 2005/8 的 XML 功能?您可以将强类型的 XML 直接插入到 SQL 中作为列,并强制执行该 XML 符合指定的模式。

您甚至可以在 XML 中索引列并运行 Xquery。

我们能否获得更多关于您想要做什么的信息?


0
如果你只需要相对简单的数据(比如第一层子节点),那么一个我以前成功使用过的选项是使用 XmlReader 来读取 XML(每次一个子节点),将数据呈现为轻量级 IDataReader,供 SqlBulkCopy 使用以将数据导入。 就像这样。如果数据更加复杂,请使用 sqlxml / bulk load。

0

编写一个与xml类似结构的数据库模式,然后编写Linq To Xml和Linq To Sql语句将数据插入其中。


0
将数据作为 XML 文档传递到具有 XML 数据类型的变量中的存储过程。然后在过程内解析文档并将数据加载到表中。
我在这里给出了示例

0

你的问题缺乏细节:

如果你有随意的XML文件要插入到数据库表中,可以声明一个XML列(SQL2005+),然后将数据作为字符串插入。

如果你有遵循XML模式的XML文件,可以使用XSD声明一个XML SCHEMA COLLECTION,将XML列绑定到该xml模式集合,并插入数据。SQL Server会根据XSD验证每个插入的XML值。

如果你想手动解析XML数据,可以使用XPath或XPathNavigator或XMLDocument.SelectNodes提取数据,并逐条记录插入到你的数据库表中。

你可能需要更具体地说明你的问题,以确定哪种方法适用于你的情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接