我看到了这个问题:
但它没有我正在寻找的信息: 我的问题:
我知道XPathDocument将完整的 xml加载到内存中:
我的问题来自xml 已经加载的阶段:
其中一个将更快地找到所需的元素:
XPathDocument with XPathNavigator
或
带有If条件的xmlReader
答案 0 :(得分:2)
如果通过
“xml已加载”
你的意思是它已经被加载到XPathDocument或XmlDocument中,那么使用XPathNavigator或XmlReader的性能将是相同的。两者都将遍历已经解析的内存节点,表示XPath数据模型。
两者之间的主要区别是XmlReader将提供只进访问,而XPathNavigator提供对文档的游标访问。当您不希望承担在内存中加载整个文档的成本时,直接与XmlReader交互非常有用。否则它就不那么有用了。
我强烈建议使用XPathNavigator。 您可以通过两种主要方式与XPathNavigator进行交互: