我得到了这个小“浏览器”,它允许我编辑本地 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 的内部文本)。
所有的建议都会很好。