У меня есть ошибка "System.OutOfMemoryException", если dataSet слишком большой и достаточно памяти. Размер файла "file1.xml" составляет около 36 МБ.
Каков способ решения этой проблемы? Спасибо заранее.
private XPathDocument GetXML(DataSet ds)
{
ds.WriteXml("file1.xml");
ds.WriteXmlSchema("file1.xsd");
XPathDocument doc = new XPathDocument(new StringReader(ds.GetXml()));
return doc;
}
Вы можете попробовать этот подход, он может быть немного менее чувствительным.
private XPathDocument GetXML(DataSet ds)
{
ds.WriteXml("file1.xml");
ds.WriteXmlSchema("file1.xsd");
XmlDocument doc = new XmlDocument();
doc.Load("file1.xml");
return new XPathDocument(new XmlNodeReader(doc));
}
Попробуйте использовать dataset.ReadXml( "MyFilename" );
Это сработало для меня. Я смог прочитать файл на 250 МБ на машине с 4 ГБ ОЗУ.
Изменить: попробуйте на машине с большим объемом оперативной памяти.
НТН