我有一段代码,它适用于正常的文件。但对于真正的大文件,它会使服务器停止工作。阅读大型XML文件,使服务器停止工作 - 内存不足
这就是:
XmlReader reader = null;
try
{
reader = XmlReader.Create(file_name + ".xml");
XDocument xml = XDocument.Load(reader);
XmlNamespaceManager namespaceManager = GetNamespaceManager(reader);
XElement root = xml.Root;
//XAttribute supplier = root.XPathSelectElement("//sh:Receive/sh:Id", namespaceManager).Attribute("Authority");
//string version = root.XPathSelectElement("//sh:DocumentId/sh:Version", namespaceManager).Value;
var nodes = root.XPathSelectElements("//eanucc:msg/eanucc:transact", namespaceManager);
return nodes;
}
catch
{ }
我认为这是导致其发生在服务器上的内存问题的一部分。我怎样才能解决这个问题?
有多少个'transact'元素? (这可能甚至不可行...) – 2013-04-30 06:02:38
你能否告诉我们导致错误的文件的大小?它是单个文件还是多个大文件? – Jras 2013-04-30 06:07:10
@JonSkeet 8.000 – 2013-04-30 06:07:24