HtmlElement.Children Vlastnost

Definice

Získá všechny podřízené HtmlElementCollection položky aktuální prvek.

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

Hodnota vlastnosti

Kolekce všech HtmlElement objektů, které mají aktuální prvek jako nadřazený prvek.

Příklady

Následující příklad kódu zkoumá libovolný dokument HTML a odvozuje řetězec popisující prvky s odsazením a čísly úrovně použitými k označení, jak jsou prvky v dokumentu vnořené. Dělá to tak, že prohledá kolekci Children všech prvků rekurzivně, počínaje elementem HTML v horní části dokumentu. Tento příklad kódu vyžaduje, aby vaše aplikace má WebBrowser ovládací prvek s názvem 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

Poznámky

Mnoho prvků uvnitř souboru HTML může obsahovat další prvky HTML pod nimi. Kolekce Children poskytuje jednoduchý mechanismus pro zkoumání struktury stromové struktury dokumentu.

Children zpřístupňuje pouze prvky, jejichž přímým nadřazením je aktuální prvek. Pokud máte HtmlElement pro prvek, TABLE poskytne vám všechny Children prvky (řádek) uvnitř objektu TRTABLE . Chcete-li načíst TD prvky (buňky) obsažené uvnitř TR prvků, budete muset použít buď kolekci Children pro každý jednotlivý TR prvek, nebo použít kolekci All v HtmlElement.

Prvky v této kolekci nejsou zaručeny ve zdrojovém pořadí.

Pokud CanHaveChildren ano false, Children bude vždy prázdný.

Platí pro

Viz také