我有处理的使用XmlDocument的 XML文件的大数目严重的麻烦。 我们的想法是从约5000的.xml文档中提取(约每20 MB)一定的数据,它被保存在文本格式,然后导入到MySQL数据库。 这个任务应该每天都要做。
我的问题是,每个XML文件的处理后,系统内存没有释放它。 因此,所有的文件都起球了,直到所有的内存被占用,并在应用程序开始运行非常缓慢(一旦硬盘启动帮助系统内存)。
我使用已经创建的源代码,所以这是不可能改变的其他类一样的XmlReader等等,所以我坚持的XmlDocument。
对于XML负载的函数被调用是这样的:
foreach (string s in xmlFileNames)
{
i++;
if (mytest.LoadXml(s))
mytest.loadToExchangeTables();
}
功能如下:
public bool LoadXml(string fileName)
{
XmlDocument myXml = new XmlDocument();
myXml.Load(fileName);
.............
//searching for needed data
.............
}
任何想法可能是什么问题? 为什么垃圾收集不这样做?
非常感谢你提前!