0

我从服务中获得了巨大的 xml 文件,并且我面临 readtoend 的一些性能问题,这需要大约 2 分钟才能完成 3 replace() 和 1.3 分钟而不使用 replace()。

 HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
  using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
result = sr.ReadToEnd().Replace("\n", "").Replace("\r", "").Replace("\t", "");   
         sr.Close();
        //ReadToEnd it is taking about 2 minutes to complete 
}

用什么来克服这个性能问题。

已编辑 xml 文件大小为 2.77 MB

4

1 回答 1

2

当您使用 .Replace("\n", "") 时,您实际上复制了整个字符串,在这种情况下您执行了 3 次,更好的方法是将其读入 String builder 并在那里进行替换,您还可以阅读和一次从字符串生成器添加一个字符并跳过不需要的字符。

于 2012-10-09T09:30:18.683 回答