public XmlNodeList GetNodes(string _logFilePath, string _strXPathQuery)
{
objXmlDoc = new XmlDocument();
objXmlDoc.Load(_logFilePath);
XmlNodeList objxmlNodeList = objXmlDoc.SelectNodes(_strXPathQuery);
return objxmlNodeList;
}
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<AppXmlLogWritter>
<LogData>
<LogID>999992013021110381000001</LogID>
<LogDateTime>20130211103810</LogDateTime>
<LogType>Message</LogType>
<LogFlag>Flag</LogFlag>
<LogApplication>Application</LogApplication>
<LogModule>Module</LogModule>
<LogLocation>Location</LogLocation>
<LogText>Text</LogText>
<LogStackTrace>Stacktrace</LogStackTrace>
</LogData>
</AppXmlLogWritter>
这里的 Xml 文件大小为 1000MB,当我将它加载到 xmlDocument 对象中时,它会给我一个 OutOf memory 异常。因为 XMLDocument 将节点存储到内存中。我使用 Xpath 查询通过 xml 文件过滤节点。然后绑定到 listview 以显示节点。我阅读了有关如何处理大型 XML 文件的文章,他们告诉我使用 XpathQuery。但问题并没有解决。 文件流呢?或任何其他加载大型 xml 文件的想法?*