是否有任何用于查询XML SQL语法的框架,我非常厌倦了迭代节点列表。


或者这只是一厢情愿的想法(如果不是愚蠢的),当然不可能,因为XML不是关系型数据库?

有帮助吗?

解决方案

XQuery 和XPath ...如果您正在寻找XQuery,那就更多了SQL结构是可取的。

其他提示

您可以尝试LINQ to XML,但它不是语言无关的。

.Net Framework提供LINQ来执行此操作,或者您可以使用.Net System.Data命名空间从XML文件加载数据。

您甚至可以创建在表格之间具有连接的查询等。

例如,System.Data.DataTable提供了 ReadXml()方法。

XQuery 是一种最接近SQL的函数式语言。 XPath 是一种用于在文档中查找用作XSLT和XQuery一部分的节点的表示法

MarkLogic 等XML数据库充当XML数据的XQuery引擎,就像关系数据库充当SQL一样关系数据的引擎。

这取决于您正在解决的问题。如果XML文件非常大,有时需要使用像SAX解析器这样的东西来逐节点遍历文件,否则你会得到OutOfMemoryException或甚至会耗尽你计算机上的虚拟内存。

但是,如果XML文件的预期大小相对较小,你可以简单地使用像Linq这样的东西,也可以看看我的答案 - 在这里我试着解释一下,如何使用 yield等结构更容易遍历节点返回

SQL Server 2005在其原生<代码上支持 XML DML > xml 数据类型。

XQuery肯定是前进的方向。这是XML数据库使用的内容,例如 eXist MarkLogic

在Java世界中,有几种在平面文件上运行XQuery的解决方案,最着名的是 Saxon

对于.NET,没有那么多可用。微软确实有一个XQuery库,虽然它是从.NET 2中提取出来的,但从未重新出现过。 XQSharp 是本机.NET替代方案,但目前只发布了命令行版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top