有没有办法根据 xml 的文件大小来估计创建 XpathDocument 实例的内存需求?
XpathDocument xdoc = new XpathDocument(xmlfile);
如果内存下降到非常低的水平,是否有任何方法可以以编程方式停止创建 XpathDocument 的过程?
由于它将整个 xml 加载到内存中,因此如果 xml 太大,最好提前知道。我发现,当我用一个大的 xml 文件创建一个新的 XpathDocument 时,永远不会触发内存不足异常,但是该过程会慢到爬行,只有 5 Mb 的内存仍然可用,并且任务管理器报告它不是回应。当内存为 584 Mb 时,这发生在 266 Mb 的 xml 文件中。我能够在 18 中毫无问题地加载 150 Mb 文件。
加载 xml 后,我想使用 XpathNavigator 和 XpathNodeIterator 进行 xpath 查询。我正在使用.net 2.0,xp sp3。