String.Replace no parece funcionar correctamente al reemplazar una parte del contenido de un archivo HTML. Por ejemplo, String.Replace reemplaza </body></html>
con blah blah blah </body></html> html>
- observe que la segunda etiqueta de cierre de HTML no se cierra correctamente y, por lo tanto, aparece cuando el usuario muestra la página en el navegador.C# replace string dentro del archivo
¿Alguien sabe por qué no está funcionando como se esperaba?
StreamReader sr = fi.OpenText;
String fileContents = sr.ReadToEnd();
sr.close();
fileContents = fileContents.Replace("<body>", "<body onload='jsFx();' />");
fileContents = fileContents.Replace("</body>","blah blah blah </body>");
StreamWriter sw = new StreamWriter(fi.OpenWrite());
sw.WriteLine(contents);
sw.close();
¿Puede proporcionar un ejemplo de su archivo fuente? El código que ha enviado * debe * funcionar como usted lo describe. No veo ninguna razón por la que obtendría un bit 'html>' extra ... – Nate
¿Hay alguna posibilidad de que esa etiqueta extraña ya esté en el archivo de entrada? También noté en el ejemplo del código que tiene una etiqueta de cuerpo cerrado automático, ¿es así? – MrEyes
Nate - gracias por la rápida respuesta y limpieza. No código real, pero lo suficientemente cerca como para transmitir mi punto. – Joey