C# 无法从HTML文件(C/WinForms)获取HTML属性

C# 无法从HTML文件(C/WinForms)获取HTML属性,c#,.net,html,winforms,html-agility-pack,C#,.net,Html,Winforms,Html Agility Pack,我有以下代码,我设法想出: private void button1_Click(object sender, EventArgs e) { HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); using (var o = new OpenFileDialog()) { if (o.ShowDialog() == DialogResult.OK)

我有以下代码,我设法想出:

private void button1_Click(object sender, EventArgs e)
{
    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    using (var o = new OpenFileDialog())
    {
        if (o.ShowDialog() == DialogResult.OK)
            doc.Load(o.FileName);
    }


    foreach (HtmlAgilityPack.HtmlAttribute att in doc.DocumentNode.Attributes)
    {
        label1.Text += Environment.NewLine +
            att.Name + " " + att.Value;
    }
}
但它什么也没做。没有错误,没有异常,它编译并运行。但是,正如您所看到的,从foreach循环内部,它应该不断地向label1.Text控件添加找到的属性及其值,但事实并非如此。什么也没发生

我做错什么了吗?有人能帮忙吗

谢谢

通过迭代doc.DocumentNode.Attributes,您正在尝试获取根元素DocumentNode的属性,该元素是一个占位符,包含您的标记以及可能的一些相邻节点,如注释和空白。这没有多大意义


你到底想提取什么?

啊,现在我明白了。在这个示例中,我并没有真正尝试做任何事情。我只是想让事情变得有意义,看看我能不能做点什么。因为没有文档,AgilityPack站点上唯一的示例代码也不起作用,所以我有点需要猜测一切。由于某种原因,Object Viewer无法打开,因此我无法使用它来查看其工作原理。然后,您可能应该首先尝试遍历节点ChildNodes,或者使用XPath表达式。这里有一个@Lucifer——这里有一个可用的文档:但基本上,HAPAPI是为了模仿System.Xml API而设计的。属性概念完全相同。