HtmlElement.Children Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft eine HtmlElementCollection aller untergeordneten Elemente des aktuellen Elements ab.
public:
property System::Windows::Forms::HtmlElementCollection ^ Children { System::Windows::Forms::HtmlElementCollection ^ get(); };
public System.Windows.Forms.HtmlElementCollection Children { get; }
member this.Children : System.Windows.Forms.HtmlElementCollection
Public ReadOnly Property Children As HtmlElementCollection
Eigenschaftswert
Eine Auflistung aller HtmlElement-Objekte, für die das aktuelle Element das übergeordnete Element ist.
Beispiele
Im folgenden Codebeispiel wird ein beliebiges HTML-Dokument untersucht und eine Zeichenfolge abgeleitet, die die Elemente beschreibt, mit Einzugs- und Levelzahlen, die verwendet werden, um anzugeben, wie tief geschachtelt die Elemente im Dokument sind. Dadurch wird die Children
Auflistung aller Elemente rekursiv durchsucht, beginnend mit dem HTML-Element am oberen Rand des Dokuments. In diesem Codebeispiel ist erforderlich, dass Ihre Anwendung ein WebBrowser Steuerelement mit dem Namen " WebBrowser1
.
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());
}
Private Sub PrintDomBegin()
If (WebBrowser1.Document IsNot Nothing) Then
Dim ElemColl As HtmlElementCollection
Dim Doc As HtmlDocument = WebBrowser1.Document
If (Not (Doc Is Nothing)) Then
ElemColl = Doc.GetElementsByTagName("HTML")
Dim Str As String = PrintDom(ElemColl, New System.Text.StringBuilder(), 0)
WebBrowser1.DocumentText = Str
End If
End If
End Sub
Private Function PrintDom(ByVal ElemColl As HtmlElementCollection, ByRef ReturnStr As System.Text.StringBuilder, ByVal Depth As Integer) As String
Dim Str As New System.Text.StringBuilder()
For Each Elem As HtmlElement In ElemColl
Dim ElemName As String
ElemName = Elem.GetAttribute("ID")
If (ElemName Is Nothing Or ElemName.Length = 0) Then
ElemName = Elem.GetAttribute("name")
If (ElemName Is Nothing Or ElemName.Length = 0) Then
ElemName = "<no name>"
End If
End If
Str.Append(CChar(" "), Depth * 4)
Str.Append(ElemName & ": " & Elem.TagName & "(Level " & Depth & ")")
ReturnStr.AppendLine(Str.ToString())
If (Elem.CanHaveChildren) Then
PrintDom(Elem.Children, ReturnStr, Depth + 1)
End If
Str.Remove(0, Str.Length)
Next
PrintDom = ReturnStr.ToString()
End Function
Hinweise
Viele der Elemente innerhalb einer HTML-Datei können andere HTML-Elemente darunter haben. Die Children Auflistung bietet einen einfachen Mechanismus zum Untersuchen der Struktur eines Dokuments.
Children Stellt nur Elemente zur Verfügung, deren direktes übergeordnetes Element das aktuelle Element ist. Wenn Sie über HtmlElement ein TABLE
Element verfügen, Children erhalten Sie alle TR
(Zeilen)-Elemente innerhalb des TABLE
Elements. Um die in den Elementen enthaltenen (Zell)-Elemente abzurufen, müssen Sie entweder die TD
Children Auflistung für jedes einzelne TR
Element verwenden oder die All Auflistung verwendenHtmlElement.TR
Elemente in dieser Auflistung sind nicht garantiert, dass sie in der Quellreihenfolge liegen.
Wenn CanHaveChildren ist false
, Children
wird immer leer sein.