HtmlElement.Children Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een HtmlElementCollection van alle onderliggende elementen van het huidige element op.
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
Waarde van eigenschap
Een verzameling van alle HtmlElement objecten met het huidige element als bovenliggend element.
Voorbeelden
In het volgende codevoorbeeld wordt een willekeurig HTML-document onderzocht en wordt een tekenreeks afgeleid waarin de elementen worden beschreven, met inspringings- en niveaunummers die worden gebruikt om aan te geven hoe diep genest de elementen zich in het document bevinden. Dit doet u door de Children verzameling van alle elementen recursief te doorzoeken, te beginnen met het HTML-element bovenaan het document. Voor dit codevoorbeeld is vereist dat uw toepassing een besturingselement met de WebBrowser naam WebBrowser1heeft.
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
Opmerkingen
Veel van de elementen in een HTML-bestand kunnen andere HTML-elementen eronder bevatten. De Children verzameling biedt een eenvoudig mechanisme voor het verkennen van de structuur van een document.
Children bevat alleen elementen waarvan het directe bovenliggende element het huidige element is. Als u een for-element HtmlElementTABLE hebt, Children krijgt u alle TR (rij)elementen binnen de TABLE. Als u de TD (cel)elementen in de TR elementen wilt ophalen, moet u de Children verzameling voor elk afzonderlijk TR element gebruiken of de All verzameling gebruiken op HtmlElement.
Elementen in deze verzameling zijn niet gegarandeerd in de bronvolgorde.
Als CanHaveChildren dat het is false, Children zal altijd leeg zijn.