Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menjana Kod HTML secara Dinamik dalam C# Menggunakan WebBrowser atau MSHTML?

Bagaimana untuk Menjana Kod HTML secara Dinamik dalam C# Menggunakan WebBrowser atau MSHTML?

Susan Sarandon
Lepaskan: 2025-01-15 07:03:47
asal
724 orang telah melayarinya

How to Dynamically Generate HTML Code in C# Using WebBrowser or MSHTML?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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:

  • Pertimbangkan untuk menggunakan async/menunggu untuk menjadikan kod anda lebih responsif.
  • Tetapkan emulasi penyemak imbas untuk memastikan keserasian dengan standard web moden.
  • Gunakan mekanisme tinjauan pendapat untuk menyemak penyiapan pemaparan halaman, kerana kandungan yang dijana secara dinamik mungkin mengambil sedikit masa untuk muncul.
  • Tambahkan pengendalian pengecualian untuk mengendalikan ralat dengan anggun.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan