HtmlElement.Children 属性

定义

获取当前元素的所有子级的 HtmlElementCollection

public System.Windows.Forms.HtmlElementCollection Children { get; }

属性值

将当前元素作为父级的所有 HtmlElement 对象的集合。

示例

下面的代码示例检查任意 HTML 文档并派生一个描述元素的字符串,并使用缩进和级别编号来指示元素在文档中的嵌套深度。 它通过以递归方式搜索 Children 所有元素的集合(从文档顶部的 HTML 元素开始)来执行此操作。 此代码示例要求应用程序具有名为 WebBrowserWebBrowser1控件。

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());
}

注解

HTML 文件中的许多元素下可以包含其他 HTML 元素。 集合 Children 提供了一种用于浏览文档树结构的简单机制。

Children 仅公开其直接父元素为当前元素的元素。 如果有 HtmlElement 元素TABLETRChildren则会提供 内的所有 (行) 元素TABLE。 若要检索TD元素中包含的TR (单元格) 元素,需要对每个元素TR使用 Children 集合,或在 All 上使用 集合。HtmlElement

不保证此集合中的元素采用源顺序。

如果 CanHaveChildrenfalseChildren 将始终为空。

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另请参阅