我正在ASP.NET中开发一个博客引擎,其中一个存储库已实现为使用XML文件作为数据存储。 XML存储库将主要用于本地使用和测试目的。现在,尽管可能不是当今拥有大量可用内存和处理能力的计算机的问题,但是尽管如此,我还是想知道一些具体细节:
无论如何,如果对象图的大小相差不大(XmlDocument和XPathDocument),仅完成工作就不会有任何伤害,但是我想在这里实现最佳解决方案。
最佳答案
XPathDocument也将完整的文档读入内存,这是支持all the XPath axes所需要的,如ojit-sibling,previous,祖先,父级,父级,子级,后代,following-sibling,following。
如果要执行XPath或XQuery查询而不将整个文档加载到内存中,则必须查看专用的XML数据库,或者至少查看具有XML数据类型且具有XQuery支持的SQL数据库。举例来说,MS SQL服务器具有an XML data type,并在其上支持某些(在我看来是相当有限的)XQuery版本。
关于c# - XPathDocument与XmlDocument,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7135897/