XPathDocument是否加载整个xml文档?

Wir*_*res 6 c# xml xpath

如果我做

XPathDocument doc = new XPathDocument("filename.xml");
Run Code Online (Sandbox Code Playgroud)

这会将整个文档加载到内存中吗?我正在编写一个手机应用程序,该文档可能会存储大量不需要同时加载的数据.手机通常没有太多的内存!

Dim*_*hev 5

是的,整个XML文档都在内存中表示.

一种解决方案是将大型XML文档拆分为许多较小的文档.

或者,您可以编写自己的XmlReader,忽略不需要的子树.您可以将此XmlReader作为参数传递给XpathDocument()构造函数 - 需要将其伪装成TextReader.