2009-05-21 5 views
1

Ich benutze die HttpWebRequest, um eine URL übergeben und anschließend müssen Sie die HTML von HttpWebResponse zurückgegeben. Die zurückgegebene Antwort hat eine Menge von \ r, \ n und \ t und auch alle "=" (equals to) sind mit einem Backslash angehängt. Ich muss sie entfernen, damit die zurückgegebene tml sauber und direkt verwendbar ist.Wie zu entfernen r n t und extra angehängt für "=" aus der HttpWebResponse

Code verwendet wird:

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

leid, aber ich habe nicht die Frage In was geht das in deinem Beispiel nicht? – BerggreenDK

+0

Ich kann das Verhalten, das Sie beschreiben, nicht mit Anfragen an verschiedene URLs reproduzieren. Sind Sie sicher, dass das "Problem" nicht in der ursprünglichen HTML-Zeichenfolge liegt, die vom Webserver gesendet wurde? – AlexDrenea

Antwort

1

Es sieht aus, als ob Sie bereits die \ n, \ r und \ t Fälle behandelt, die Hinter verlassen '\' nach Gleichheitszeichen lösen gelassen , wenn ich richtig verstehe? Sie können das tun, den gleichen Ansatz wie die anderen mit:

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

Oder, wenn Sie alle Fälle zur gleichen Zeit behandelt werden sollen:

result = Regex.Replace(result, "[\n\r\t]|=\\\\", delegate(Match match) 
{ 
    return match.Value == @"=\" ? "=" : " "; 
}); 
Verwandte Themen