0

サービスから巨大なxmlファイルを取得しましたが、readtoendでパフォーマンスの問題が発生しました。3つのreplace()で完了するのに約2分、replace()を使用せずに1.3分かかります。

 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.77MBです

4

1 に答える 1

2

.Replace( "\ n"、 "")を使用すると、実際に文字列全体をコピーします。この場合は3回実行します。これを文字列ビルダーに読み込んで置換することをお勧めします。また、次の文字列を読み取ることもできます。文字列ビルダーから一度に1文字ずつ文字を追加し、不要な文字をスキップします。

于 2012-10-09T09:30:18.683 に答える