2009-05-21 10 views
1

HttpWebRequestを使用してURLを渡してから、HttpWebResponseから返されたhtmlを保存する必要があります。返される応答には\ r、\ n、\ tが多く含まれ、すべての "="(等号)にはバックスラッシュが付加されます。返されたtmlがきれいで直接使用できるように、それらを削除する必要があります。使用HttpWebResponseから r n tと "="を追加する方法

コードは次のとおりです。

HttpWebRequest request = WebRequest.Create("http://noirimdev02:8080/cps/rde/xchg/rimvenezuela/hs.xsl/1351.htm?xsl=pearl_series_landingpage.xsl&catid=0651C91110FA48BEBFD7C05413185395&pid=F6794FC1CB244538BB592A47505062BC&count=2") as HttpWebRequest; 
    // Get response    
    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
    { 
     // Get the response stream 

     StreamReader reader = new StreamReader(response.GetResponseStream()); 

     // Read the whole contents and return as a string 
     result = reader.ReadToEnd(); 
    } 
    result = result.Replace("\n", " "); 
    result = result.Replace("\r", " "); 
    result = result.Replace("\t", " "); 
    Console.WriteLine(result); 
    Console.ReadLine(); 

Nimish

+0

を申し訳ありませんが、私は質問を取得していないあなたは他の人と同じアプローチを使用していることを行うことができますあなたの例では何が働いていないのですか? – BerggreenDK

+0

要求を使って説明した動作を別のURLに再現することはできません。 「問題」がWebサーバーから送信された元のHTML文字列に含まれていないことを確認してください。 – AlexDrenea

答えて

1
等号を解決するために去った後、あなたがすでに末尾に '\' 残して、\ nを\ rと\ tの例を扱っているかのように見えます

私が正しく理解すれば?

result = result.Replace(@"=\", "="); 

をそれとも、あなたは同時にすべてのケースを処理する場合:

result = Regex.Replace(result, "[\n\r\t]|=\\\\", delegate(Match match) 
{ 
    return match.Value == @"=\" ? "=" : " "; 
}); 
関連する問題