Bahasa

HtmlElement.Children Properti

Definisi

HtmlElementCollection Mendapatkan dari semua anak dari elemen saat ini.

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

Nilai Properti

Kumpulan semua HtmlElement objek yang memiliki elemen saat ini sebagai induk.

Contoh

Contoh kode berikut memeriksa dokumen HTML arbitrer dan mendapatkan string yang menjelaskan elemen, dengan indentasi dan angka tingkat yang digunakan untuk menunjukkan seberapa dalam elemen berada dalam dokumen. Ini dilakukan dengan mencari Children koleksi semua elemen secara rekursif, dimulai dengan elemen HTML di bagian atas dokumen. Contoh kode ini mengharuskan aplikasi Anda memiliki WebBrowser kontrol bernama 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

Keterangan

Banyak elemen di dalam file HTML dapat memiliki elemen HTML lain di bawahnya. Koleksi ini Children menyediakan mekanisme sederhana untuk menjelajahi struktur pohon dokumen.

Children hanya mengekspos elemen yang induk langsungnya adalah elemen saat ini. Jika Anda memiliki HtmlElement untuk elemen , TABLE akan memberi Anda semua Children elemen (baris) di dalam TRTABLE . Untuk mengambil TD elemen (sel) yang terkandung di dalam TR elemen, Anda harus menggunakan Children koleksi pada setiap elemen individu TR , atau menggunakan All koleksi pada HtmlElement.

Elemen dalam koleksi ini tidak dijamin berada dalam urutan sumber.

Jika CanHaveChildren adalah false, Children akan selalu kosong.

Berlaku untuk

Lihat juga