将HtmlDocument.DomDocument转换为字符串

时间:2010-09-03 23:26:54

标签: c# dom

如何将HtmlDocument.DomDocument转换为字符串?

2 个答案:

答案 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;