HtmlElement クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public NotInheritable Class HtmlElement

HtmlElement は、HTML ドキュメントに含まれる可能性のある種類の要素 (BODY、TABLE、FORM など) を表します。このクラスは、すべての要素に存在すると考えられる最も一般的なプロパティを公開します。
ほとんどの要素は子要素を持つことができます。その他の HTML 要素は、そうした要素の下位に割り当てられます。CanHaveChildren プロパティを使用すると、指定した要素に子があるかどうかを確認でき、Children コレクションを使用すると、それらの子を反復処理できます。Parent プロパティは、現在の要素を入れ子にしている HtmlElement を返します。
IMG 要素の SRC 属性や FORM の Submit メソッドなど、HtmlElement によって直接公開されていない基になる要素の属性、プロパティ、およびメソッドにアクセスする必要が生じる場合が、しばしばあります。GetAttribute メソッドと SetAttribute メソッドを使用すると、特定の要素の属性やプロパティを取得および変更できます。また、InvokeMember を使用すると、マネージ DOM (Document Object Model) で公開されていない任意のメソッドにアクセスできます。アプリケーションにアンマネージ コード アクセス許可が付与されている場合は、DomElement 属性を使用して、公開されていないプロパティとメソッドにアクセスすることもできます。
TagName プロパティを使用すると、要素が特定の種類であるかどうかを確認できます。
すべての HTML ドキュメントは、実行時に変更できます。HtmlDocument の CreateElement メソッドを使用して新しい HtmlElement オブジェクトを作成したり、AppendChild メソッドまたは InsertAdjacentElement メソッドを使用してオブジェクトを別の要素に追加したりできます。また、要素を HTML タグとして作成し、それを既存の要素の InnerHtml プロパティに割り当てることもできます。

次のコード例では、任意の HTML ドキュメントを調べて、HTML 要素がドキュメント内で入れ子になっている深さを示すインデント数とレベル数を記載した、HTML 要素に関する説明の文字列を取得する方法を示します。このコード例では、アプリケーションが WebBrowser1 という名前の WebBrowser コントロールをホストしている必要があります。
private void PrintDomBegin() { if (webBrowser1.Document != null) { HtmlElementCollection elemColl = null; HtmlDocument doc = webBrowser1.Document; if (doc != null) { elemColl = doc.GetElementsByTagName("HTML"); String str = PrintDom(elemColl, new System.Text.StringBuilder(), 0); webBrowser1.DocumentText = str; } } } private string PrintDom(HtmlElementCollection elemColl, System.Text.StringBuilder returnStr, Int32 depth) { System.Text.StringBuilder str = new System.Text.StringBuilder(); foreach (HtmlElement elem in elemColl) { string elemName; elemName = elem.GetAttribute("ID"); if (elemName == null || elemName.Length == 0) { elemName = elem.GetAttribute("name"); if (elemName == null || elemName.Length == 0) { elemName = "<no name>"; } } str.Append(' ', depth * 4); str.Append(elemName + ": " + elem.TagName + "(Level " + depth + ")"); returnStr.AppendLine(str.ToString()); if (elem.CanHaveChildren) { PrintDom(elem.Children, returnStr, depth + 1); } str.Remove(0, str.Length); } return(returnStr.ToString()); }

System.Windows.Forms.HtmlElement


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HtmlElement メンバ
System.Windows.Forms 名前空間
その他の技術情報
HTMLElement Interface
IHTMLElement2 Interface
IHTMLElement3 Interface
IHTMLElement4 Interface
- HtmlElement クラスのページへのリンク