C#中使用WebBrowser或MSHTML動態產生HTML程式碼
本文將探討兩種不同的方法來產生HTML程式碼:
1. 使用System.Windows.Forms.WebBrowser類別
這種方法很簡單,但也有限制。要檢索網頁的HTML程式碼:
<code class="language-csharp">[STAThread] public static void Main() { WebBrowser wb = new WebBrowser(); wb.Navigate("https://www.example.com/"); wb.DocumentCompleted += (sender, e) => { mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)wb.Document.DomDocument; foreach (IHTMLElement element in doc.all) { Console.WriteLine(element.outerHTML); } }; Application.Run(wb); }</code>
這段程式碼導覽到指定的URL,文件載入後,它迭代DOM元素以提取HTML程式碼。
然而,這種方法有缺點:它很慢,有時無法檢索完整的HTML,並且不適合使用AJAX呼叫的動態網頁。
2. 使用mshtml.HTMLDocument介面
此方法使用Microsoft HTML物件庫程式集中的mshtml.HTMLDocument介面。它包括:
<code class="language-csharp">public static void Main() { mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)new mshtml.HTMLDocument(); doc.write(new System.Net.WebClient().DownloadString("https://www.example.com/")); foreach (IHTMLElement element in doc.all) { Console.WriteLine(element.outerHTML); } }</code>
這段程式碼下載網頁的HTML程式碼,將其載入到HTML文件中,並迭代DOM元素以擷取HTML程式碼。
重要注意事項:
以上是如何使用 WebBrowser 或 MSHTML 在 C# 中動態產生 HTML 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!