0

我得到了这个小“浏览器”,它允许我编辑本地 html 文件的内容。我想出了如何使用 WebBrowser、innerHtml 和 gettingelementbyid,从 webbrowser 到 textboxes,然后在 textbox 发生变化时返回 webbrowser。这很容易。

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

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

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

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

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

我尝试内置方法showSaveAsDialog- 但它当然不会保存更改。

纯标签的代码保持完整是非常重要的。我需要一种方法来保存这个编辑过的 html(只添加了一些 div 的内部文本)。

所有的建议都会很好。

4

1 回答 1

0

我建议使用HtmlTextWriter写入文件。

于 2013-05-10T21:30:46.547 回答