私はこのようなコードのあなたのビットを書き換えるかもしれません:
var fileContents = System.IO.File.ReadAllText(@"C:\File.html");
fileContents = fileContents.Replace("<body>", "<body onload='jsFx();' />");
fileContents = fileContents.Replace("</body>","blah blah blah </body>");
System.IO.File.WriteAllText(@"C:\File.html", fileContents);
私はこのソリューションは、合理的なサイズのファイルの罰金であることに注意してください。ハードウェアによっては、数十MB以下のものがあります。内容全体をメモリにロードします。非常に大きなファイルがある場合は、OutOfMemoryExceptionを防ぐために、一度に数百KBまでストリーミングする必要があります。これは、あなたの検索文字列を分割するかどうかを確認するために各チャンク間の区切りをチェックする必要があるので、もう少し複雑になります。
ソースファイルの例を挙げることはできますか? *あなたが提出したコードはあなたが記述した通りに動作するはずです*。余分な 'html>'ビットを取得する理由はありません。 – Nate
この無関係なタグが入力ファイルに既に存在する可能性はありますか?また、コード例では、自動閉鎖ボディータグがあることに気付きました。 – MrEyes
ネイト - 迅速な返信とクリーンアップに感謝します。実際のコードではありませんが、私の意見を理解するには十分に近いです。 – Joey