如果我做
XPathDocument doc = new XPathDocument("filename.xml");
Run Code Online (Sandbox Code Playgroud)
这会将整个文档加载到内存中吗?我正在编写一个手机应用程序,该文档可能会存储大量不需要同时加载的数据.手机通常没有太多的内存!
是的,整个XML文档都在内存中表示.
一种解决方案是将大型XML文档拆分为许多较小的文档.
或者,您可以编写自己的XmlReader
,忽略不需要的子树.您可以将此XmlReader
作为参数传递给XpathDocument()
构造函数 - 需要将其伪装成TextReader
.