HtmlElement.Children Özellik

Tanım

HtmlElementCollection Geçerli öğenin tüm alt öğelerini alır.

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

Özellik Değeri

HtmlElementCollection

Geçerli öğeyi üst öğe olarak içeren tüm HtmlElement nesnelerin koleksiyonu.

Örnekler

Aşağıdaki kod örneği rastgele bir HTML belgesini inceler ve öğelerin belgede ne kadar iç içe olduğunu belirtmek için kullanılan girinti ve düzey numaralarıyla birlikte öğeleri açıklayan bir dize türetmektedir. Bunu, belgenin Children en üstündeki HTML öğesinden başlayarak tüm öğelerin koleksiyonunda özyinelemeli olarak arama yaparak yapar. Bu kod örneği, uygulamanızın adlı WebBrowser1bir WebBrowser denetime sahip olmasını gerektirir.

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

Açıklamalar

Bir HTML dosyasının içindeki öğelerin birçoğunun altında başka HTML öğeleri olabilir. Koleksiyon, Children belgenin ağaç yapısını keşfetmek için basit bir mekanizma sağlar.

Children yalnızca doğrudan üst öğesi geçerli öğe olan öğeleri kullanıma sunar. Bir TABLE öğe için öğeniz HtmlElement varsa, Children içindeki TABLEtüm TR (satır) öğeleri size verir. Öğelerin içinde TR yer alan (hücre) öğeleri almak TD için, her bir TR öğede koleksiyonu kullanmanız Children veya üzerinde koleksiyonunu HtmlElementkullanmanız All gerekir.

Bu koleksiyondaki öğelerin kaynak sırada olması garanti edilmiyor.

ise CanHaveChildren false``Children, her zaman boş olur.

Şunlara uygulanır

Ayrıca bkz.