String.Replace не работает должным образом при замене части содержимого файла HTML. Например, String.Replace заменяет </body></html>
на blah blah blah </body></html> html>
. Обратите внимание, что второй тег закрытия HTML закрыт неправильно и, следовательно, отображается, когда страница отображается в браузере пользователем.C# заменить строку в файле
Кто-нибудь знает, почему он не работает должным образом?
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();
Можете ли вы привести пример исходного файла? Код, который вы отправили *, должен * работать, как вы описываете. Я не вижу причин, по которым вы получите дополнительный бит `html>` ... – Nate 2010-12-02 21:01:45
Есть ли вероятность, что этот посторонний тег уже находится во входном файле? Также я замечаю в примере кода, что у вас есть тег с закрытым телом автоматически, так? – MrEyes 2010-12-02 21:05:32