How to convert HtmlDocument.DomDocument to string ?
+1
A:
This example is a bit convoluted, but, assuming you have a form called Form1
, with a WebBrowser control called webBrowser1
, the variable content
will contain the markup that forms the document:
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;
}
The essential "guts" of extracting it from the HtmlDocument.DomDocument
is in the webBrowser1_DocumentCompleted
event handler.
Note: mshtml
is obtained by adding a COM reference to 'Microsoft HTML Object Library` (aka: mshtml.dll)
Rob
2010-09-03 23:45:48
A:
It would be easier to use the HtmlDocument
itself, rather than its DomDocument
property:
string html = htmlDoc.Body.InnerHtml;
Or even simpler, if you have access to the WebBrowser
containing the document:
string html = webBrowser.DocumentText;
Thomas Levesque
2010-09-04 00:18:44
actually i needed DomDocument because DocumentText doesn't change after the DOM is manipulated.any way thanks for the answer
Yassir
2010-09-04 01:02:58