如果dataSet太大且内存足够,我会收到错误“System.OutOfMemoryException”。 文件“file1.xml”的大小约为36 MB。
解决这个问题的方法是什么? 提前谢谢。
private XPathDocument GetXML(DataSet ds)
{
ds.WriteXml("file1.xml");
ds.WriteXmlSchema("file1.xsd");
XPathDocument doc = new XPathDocument(new StringReader(ds.GetXml()));
return doc;
}
答案 0 :(得分:2)
您可以尝试这种方法,它可能不那么敏感。
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));
}
答案 1 :(得分:-1)
尝试使用dataset.ReadXml(“MyFilename”);
这对我有用。我能够在具有4GB RAM的机器上读取250 MB的文件。
编辑:尝试使用RAM更多的计算机。
HTH