首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPathDocument对XmlDocument

XPathDocument对XmlDocument
EN

Stack Overflow用户
提问于 2011-08-21 02:06:44
回答 1查看 9.8K关注 0票数 9

我正在ASP.NET中开发一个博客引擎,其中一个存储库被实现为使用XML文件作为数据存储。XML存储库将主要用于本地使用和测试目的。虽然今天的电脑有很多内存和处理能力,可能不是问题,但我想知道一些具体细节:

  • XPathDocument是只读文档,而XmlDocument是读/写文档。因此,XPathDocument是否比XmlDocument更轻量级,因为它缺乏编写功能?
  • 我确信,当您用XmlDocument加载一个XmlDocument时,它会将整个文档加载到内存中,如果文档大小很大,这可能是一个问题。XPathDocument也做同样的事情吗?如果是这样的话,我如何从XML文档中读取单个节点或一组节点,而不首先在内存中加载整个文档?我知道我可以使用XmlTextReader,但这意味着当我按顺序访问节点时,必须解析整个文档。我希望能够使用XPath表达式查询XML文档。

无论如何,如果对象图的大小没有太大差异(XmlDocument和XPathDocument),那么只完成任务不会有什么影响,但是我想在这里实现最好的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-21 13:04:07

XPathDocument还将完整的文档读入内存中,这也是支持所有XPath轴所必需的,比如前面的兄弟姐妹、前面的、祖先、父、父、子、子、后代、后续兄弟、跟随。

如果您想在不将整个文档加载到内存中的情况下执行XPath或XQuery查询,那么您必须查看专门的XQuery数据库,或者至少查看具有XQuery支持的XML数据类型的SQL数据库。例如,MS有XML数据类型,并且在这方面支持某些XQuery版本(在我看来是相当有限的)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7135897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档