2011-08-24 84 views
1

我有一个.NET的Web浏览器,并通过DOM我正在在页面的元素如何将.NET WebBrowser的修改后的DOM呈现为HTML?

如某些变化:

标题和不断变化的一些由ID元素的内部文本。

现在,所有这些工作都很好,我可以调用文档的各个元素来确保进行更改。

Webrowser.Body.Getelementbyid( “ID”)< ---我可以看到的变化

Webbrowser.Document.Title < ----我能看到的变化

但如果我去顶水平和查看像

Webbrowser.DocumentText <的HTML ---我没有看到任何变化

目的是为了保存所有的HTML进行必要的更改后。

回答

1

你实际上不能。您试图强制Web浏览器控件成为设计人员,这不会发生。

这是因为浏览器不会将您的DOM更改应用于HTML并进行重新解释。您的所有更改都是在内存中。看到HTML中反映的这些变化构成了HTML设计者提供的功能,而.NET Web浏览器只是一个浏览器,而不是设计师。

+0

你心中有出路吗? – Ismail

+0

如果HTML格式正确且符合标准,您可以将其视为一种XML文档,并自己对源进行更新。或者你可以检查第三方解决方案,可能会提供你正在寻找的功能。 –

+0

Paul,我现在可以使用WebBrowser.Document.Body.Parent.OuterHtml来获取更改。我去了一个级别的身体,并返回到父节点,这是实际的根。但它解决了只有一个问题正在得到改变。它引发了另一个问题,就是它获取呈现的HTML而非原始HTML。我需要解决这个问题。 – Ismail