WebBrowser または MSHTML を使用して C# で HTML コードを動的に生成します
この記事では、HTML コードを生成する 2 つの異なる方法について説明します。
1. System.Windows.Forms.WebBrowser クラスを使用します
この方法は簡単ですが、制限もあります。 Web ページの 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 呼び出しを使用する動的な Web ページには適していません。
2. mshtml.HTMLDocument インターフェイスを使用します
このメソッドは、Microsoft HTML Object Library アセンブリの 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>
このコードは、Web ページの HTML コードをダウンロードして HTML ドキュメントに読み込み、DOM 要素を反復処理して HTML コードを抽出します。
重要な注意事項:
以上がWebBrowser または MSHTML を使用して C# で HTML コードを動的に生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。