HtmlElement.Children Eigenschap

Definitie

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.

Van toepassing op

Zie ook