Gunakan WebBrowser atau MSHTML untuk menjana kod HTML secara dinamik dalam C#
Artikel ini akan meneroka dua kaedah berbeza untuk menjana kod HTML:
1. Gunakan kelas System.Windows.Forms.WebBrowser
Kaedah ini mudah, tetapi ia juga mempunyai had. Untuk mendapatkan semula kod HTML halaman web:
<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>
Kod ini menavigasi ke URL yang ditentukan dan sebaik sahaja dokumen dimuatkan, ia akan melelang ke atas elemen DOM untuk mengekstrak kod HTML.
Walau bagaimanapun, pendekatan ini mempunyai kelemahan: ia lambat, kadangkala gagal mendapatkan HTML penuh dan tidak sesuai untuk halaman web dinamik menggunakan panggilan AJAX.
2. Gunakan antara muka mshtml.HTMLDocument
Kaedah ini menggunakan antara muka mshtml.HTMLDocument dalam himpunan Perpustakaan Objek HTML Microsoft. Ia termasuk:
<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>
Kod ini memuat turun kod HTML halaman web, memuatkannya ke dalam dokumen HTML dan melelang ke atas elemen DOM untuk mengekstrak kod HTML.
Nota Penting:
Atas ialah kandungan terperinci Bagaimana untuk Menjana Kod HTML secara Dinamik dalam C# Menggunakan WebBrowser atau MSHTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!