c# - 如何在不指定节点名称的情况下遍历所有节点

标签 c# html html-agility-pack

我正在尝试从任何 html 文档的所有 htmlDocument 节点获取所有 innerText。

我一直在做一些研究,但还没有找到解决方案来解决如何在不必指定节点名称的情况下遍历整个文档中的所有父节点和子节点。

我想这样做是因为我将使用不同的 html 文档,因此此时指定节点名称对我来说不是一个选项。

最佳答案

我现在想通了...我的天啊,开始的时候太简单了,因为我不知道如何使用这些功能

HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.Load(MyIO.bingPathToAppDir("Test data/testHTML.html"));
HtmlNode j = htmlDoc.DocumentNode;
foreach (HtmlNode node in j.ChildNodes)
{
    checkNode(node);
}

static void checkNode(HtmlNode node)
{
    foreach (HtmlNode n in node.ChildNodes)
    {
        if (n.HasChildNodes)
        {
            checkNode(n);
        }
        else
        {
            Console.WriteLine(n.InnerText);
        }
    }
}

关于c# - 如何在不指定节点名称的情况下遍历所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33031971/

相关文章:

javascript - Html 节点内的信息不可见

c# - 使用 HtmlAgilityPack 从 WP7 上的 HTML 获取文本

c# - 使用await和async返回字符串列表

c# - 为什么按增量时间计算?

javascript - 如何在 D3 中选择现有的 SVG 容器而不使用 D3 创建该容器?

html - 防止 html 元素在分辨率太小时被挤压

c# - 保持字典的 Where() 一致

c# - 如果文本被删除,如何忽略 Excel 单元格值?

php - 静态网页 vs MySql 生成

c# - HtmlAgilityPack - 如何在大型网页中抓取 <DIV> 数据