【发布时间】:2010-09-13 13:03:59
【问题描述】:
有没有查询 XML SQL 语法的框架,我真的厌倦了遍历节点列表。
或者这只是一厢情愿(如果不是白痴的话)而且肯定不可能,因为 XML 不是关系数据库?
【问题讨论】:
标签: sql xml language-agnostic frameworks
有没有查询 XML SQL 语法的框架,我真的厌倦了遍历节点列表。
【问题讨论】:
标签: sql xml language-agnostic frameworks
XQuery 和 XPath...如果需要 SQL 结构,则 XQuery 更适合您。
【讨论】:
您可以尝试使用 LINQ to XML,但它与语言无关。
【讨论】:
.Net Framework 提供 LINQ 来执行此操作,或者您可以使用 .Net System.Data 命名空间从 XML 文件加载数据。
您甚至可以创建在表之间具有连接的查询等。
例如,System.Data.DataTable 提供了一个ReadXml() 方法。
【讨论】:
这取决于您要解决的问题。如果 XML 文件非常大,有时需要使用 SAX 解析器之类的东西逐个节点地遍历文件,否则会出现 OutOfMemoryException 或者甚至会耗尽计算机上的虚拟内存。
但是,如果 XML 文件的预期大小相对较小,您可以简单地使用 Linq 之类的东西,另请参阅我的 answer - 在这里我试图解释,如何使用 收益回报。
【讨论】:
SQL Server 2005 在其原生 xml 数据类型上支持 XML DML。
【讨论】: