Verwenden Sie WebBrowser oder MSHTML, um HTML-Code in C# dynamisch zu generieren
In diesem Artikel werden zwei verschiedene Methoden zum Generieren von HTML-Code untersucht:
1. Verwenden Sie die System.Windows.Forms.WebBrowser-Klasse
Diese Methode ist einfach, weist aber auch Einschränkungen auf. So rufen Sie den HTML-Code einer Webseite ab:
<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>
Dieser Code navigiert zur angegebenen URL und durchläuft nach dem Laden des Dokuments die DOM-Elemente, um den HTML-Code zu extrahieren.
Dieser Ansatz hat jedoch Nachteile: Er ist langsam, kann manchmal nicht den vollständigen HTML-Code abrufen und ist nicht für dynamische Webseiten mit AJAX-Aufrufen geeignet.
2. Verwenden Sie die mshtml.HTMLDocument-Schnittstelle
Diese Methode verwendet die mshtml.HTMLDocument-Schnittstelle in der Microsoft HTML Object Library-Assembly. Es beinhaltet:
<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>
Dieser Code lädt den HTML-Code der Webseite herunter, lädt ihn in ein HTML-Dokument und iteriert über die DOM-Elemente, um den HTML-Code zu extrahieren.
Wichtige Hinweise:
Das obige ist der detaillierte Inhalt vonWie generiert man dynamisch HTML-Code in C# mit WebBrowser oder MSHTML?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!