我正在处理一个很大的XML文件,在运行应用程序时,XmlTextReader.ReadOuterXml()
方法抛出了内存异常。
代码行是这样的,
XmlTextReader xr = null;
try
{
xr = new XmlTextReader(fileName);
while (xr.Read() && success)
{
if (xr.NodeType != XmlNodeType.Element)
continue;
switch (xr.Name)
{
case "A":
var xml = xr.ReadOuterXml();
var n = GetDetails(xml);
break;
}
}
}
catch (Exception ex)
{
//Do stuff
}
使用:
private int GetDetails (string xml)
{
var rootNode = XDocument.Parse(xml);
var xnodes = rootNode.XPathSelectElements("//A/B").ToList();
//Then working on list of nodes
}
现在,当加载XML文件时,应用程序在xr.ReadOuterXml()
行抛出异常。如何避免这种情况呢?的大小几乎是1 GB。
https://stackoverflow.com/questions/46603999
复制相似问题