如何将HtmlDocument.DomDocument转换为字符串?
答案 0 :(得分:8)
这个例子有点复杂,但是,假设你有一个名为Form1
的表单,其中一个名为webBrowser1
的WebBrowser控件,变量content
将包含构成文档的标记:
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri(@"http://www.robertwray.co.uk/");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var document = webBrowser1.Document;
var documentAsIHtmlDocument3 = (mshtml.IHTMLDocument3)document.DomDocument;
var content = documentAsIHtmlDocument3.documentElement.innerHTML;
}
从HtmlDocument.DomDocument
中提取它的基本“胆量”在webBrowser1_DocumentCompleted
事件处理程序中。
注意:mshtml
是通过向“Microsoft HTML Object Library”(又名:mshtml.dll)添加COM引用获得的
答案 1 :(得分:3)
使用HtmlDocument
本身比使用DomDocument
属性更容易:
string html = htmlDoc.Body.InnerHtml;
如果您有权访问包含文档的WebBrowser
,则更简单:
string html = webBrowser.DocumentText;