HtmlElement-Klasse
Assembly: System.Windows.Forms (in system.windows.forms.dll)
HtmlElement stellt jeden möglichen Elementtyp in einem HTML-Dokument dar, u. a. BODY, TABLE und FORM. Die Klasse macht die meisten allgemeinen Eigenschaften verfügbar, die Sie für alle Elemente erwarten können.
Die meisten Elemente können über untergeordnete Elemente verfügen. Dabei handelt es sich um andere HTML-Elemente, die unter ihnen platziert werden. Mithilfe der CanHaveChildren-Eigenschaft können Sie testen, ob ein bestimmtes Element über untergeordnete Elemente verfügt. Mithilfe der Children-Auflistung können Sie diese durchlaufen. Die Parent-Eigenschaft gibt das HtmlElement zurück, in dem das aktuelle Element geschachtelt ist.
Häufig müssen Sie auf Attribute, Eigenschaften und Methoden des zugrunde liegenden Elements zugreifen, die nicht direkt durch HtmlElement verfügbar gemacht werden, z. B. das SRC-Attribut für ein IMG-Element oder die Submit-Methode für ein FORM. Die GetAttribute-Methode und die SetAttribute-Methode geben Ihnen die Möglichkeit, jedes Attribut und jede Eigenschaft eines bestimmten Elements abzurufen und zu ändern, während Sie mithilfe von InvokeMember auf Methoden zugreifen können, die nicht im verwalteten DOM (Document Object Model) verfügbar gemacht werden. Wenn die Anwendung über Berechtigungen für nicht verwalteten Code verfügt, können Sie mit dem DomElement-Attribut auch auf nicht verfügbar gemachte Eigenschaften und Methoden zugreifen.
Mithilfe der TagName-Eigenschaft können Sie testen, ob ein Element einen bestimmten Typ aufweist.
Jedes HTML-Dokument kann zur Laufzeit geändert werden. Sie können neue HtmlElement-Objekte mit der CreateElement-Methode von HtmlDocument erstellen und diese mithilfe der AppendChild-Methode oder der InsertAdjacentElement-Methode einem anderen Element hinzufügen. Sie können die Elemente auch als HTML-Tags erstellen und diese der InnerHtml-Eigenschaft eines vorhandenen Elements zuweisen.
Im folgenden Codebeispiel wird veranschaulicht, wie ein beliebiges HTML-Dokument untersucht und eine Zeichenfolge abgeleitet wird, die die HTML-Elemente mit Einzug und Ebenennummern beschreibt, mit denen angegeben wird, wie tief die Elemente im Dokument geschachtelt sind. Für dieses Codebeispiel ist es erforderlich, dass die Anwendung ein WebBrowser-Steuerelement mit dem Namen WebBrowser1 hostet.
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()); }
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.