首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPathDocument与XPathNavigator和Xmlreader?

XPathDocument与XPathNavigator和Xmlreader?
EN

Stack Overflow用户
提问于 2011-12-31 13:00:50
回答 1查看 3.7K关注 0票数 3

我看到了这个问题:

XPathDocument vs. XmlDocument

但它没有我想要的信息:我的问题:

我知道XPathDocument将完整的xml加载到内存中:

我的问题来自于已经加载了的阶段:

哪个会更快地找到所需的元素:

XPathDocument和XPathNavigator

带If's条件的

xmlReader

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-28 19:54:20

如果通过

“xml已经加载”

您的意思是,它已经被加载到XPathDocument或XmlDocument中,那么使用XPathNavigator或XmlReader的性能将是相同的。这两个节点都将遍历已经解析的、表示XPath数据模型的内存中节点。

两者之间的主要区别在于,XmlReader将提供前向访问,而XPathNavigator提供对文档的游标访问。当您不想在内存中加载整个文档时,直接与XmlReader交互非常有用。否则就没什么用了。

我强烈建议使用XPathNavigator。有两种与XPathNavigator交互的主要方式:

  1. 构建状态机(使用if/else)。使用XPathNavigator而不是XmlReader来实现这一点的一个巨大好处是,由于XPathNavigator的游标访问模型,您的状态机将大大简化。例:需要看看父母是否有一个特定的属性?
  2. 使用XPath查询查找您要查找的数据。可能没有那么快,但可能会比构建自己的状态机更容易出错。当然,这需要您精通XPath.

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

https://stackoverflow.com/questions/8688226

复制
相关文章

相似问题

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