将WebBrowser的内容保存到文件

时间:2013-05-10 19:42:41

标签: c# html winforms

我有一个小“探险家”,允许我编辑本地html文件的内容。我想出了如何使用WebBrowser,innerHtml和gettingelementbyid,从webbrowser到文本框,再到文本框中的更改回webbrowser。这很简单。

现在我需要将所有更改保存回打开并编辑的html文件。我试试这个:

File.WriteAllText (adresbox1.Text,
                   webBrowser1.Document.Body.Parent.OuterHtml,
                   Encoding.GetEncoding(webBrowser1.Document.Encoding));

它正在工作,但输出的html代码已更改: 所有id="idlabel"class="divclass"变为id=idlabelclass=divclass - 删除引文 - 当我甚至在错误的代码位置更改一个字符时,抓取这些html文件的解析器会返回错误。 一些样式停止工作(少数地方的填充和边距的摘要较小,您可以看到在常规浏览器中保持打开的更改刷新文件):

page-break-after:auto; page-break-inside: avoid;

在修改之前他们正在工作! 所有标签都变为大写(<head>变为<HEAD>),许多“行尾”返回被删除(少数代码行合并为一个) 缺少<doctype>等。

我尝试使用内置方法showSaveAsDialog - 但当然不是保存更改。

纯标签的代码保持不变非常重要。我需要一种方法来保存这个编辑过的html(只添加了一些div的innertext)。

所有建议都会很好。

1 个答案:

答案 0 :(得分:0)

我建议使用HtmlTextWriter写入文件。