以下方法读取包含XML格式数据的字符串变量的值,并将其分配给数据集。该功能已经运行了好几年,但是最近正在检索的基础数据有所增长。现在,我间歇性地看到以下行中引发了“内存不足异常”:
“ StringReader sr =新的StringReader(Regex.Replace(XMLText,pattern,” $ 1“)));”
我看过其他解决方案,例如下面的两个链接,人们建议使用File.ReadLines或StreamReader。但是我不确定如何将其与dataSet.ReadXml函数配合使用。
Read Big TXT File, Out of Memory Exception
DataSet ds = new DataSet();
string pattern = @"(</?)(\w+:)";
//[XMLText] is a string variable containing XML downloaded from a WebServices API.
StringReader sr = new StringReader(Regex.Replace(XMLText, pattern, "$1"));
ds.ReadXml(sr);
return ds;
我只能通过关闭然后重新打开应用程序来解决它。有没有一种方法可以优化此代码以防止出现此异常?预先非常感谢。