有没有查询 XML SQL 语法的框架,我真的厌倦了遍历节点列表。
或者这只是一厢情愿(如果不是白痴的话)而且肯定不可能,因为 XML 不是关系数据库?
有没有查询 XML SQL 语法的框架,我真的厌倦了遍历节点列表。
XQuery和 XPath... 如果需要 SQL 结构,XQuery 更适合您。
.Net Framework 提供 LINQ 来执行此操作,或者您可以使用 .Net System.Data 命名空间从 XML 文件加载数据。
您甚至可以创建在表等之间具有连接的查询。
例如,System.Data.DataTable 提供了一个ReadXml()
方法。
您可以尝试使用 LINQ to XML,但它与语言无关。
XQuery是一种最接近 SQL 的函数式语言。 XPath是一种用于在文档中定位节点的符号,该节点用作 XSLT 和 XQuery 的一部分。
XML 数据库(如MarkLogic)用作 XML 数据的 XQuery 引擎,就像关系数据库用作关系数据的 SQL 引擎一样。
这取决于您要解决的问题。如果 XML 文件非常大,有时必须使用 SAX 解析器之类的东西逐个节点遍历文件,否则您将收到 OutOfMemoryException 或者甚至会耗尽计算机上的虚拟内存。
但是,如果 XML 文件的预期大小相对较小,您可以简单地使用 Linq 之类的东西,也请参阅我的答案- 在这里我试图解释,如何使用像yield return这样的结构更容易地遍历节点。
SQL Server 2005在其本机数据类型上支持XML DML 。xml