1

我正在尝试 /html/body/center/table/tbody/tr[5]/td[3]/font/font/span 使用以下 xpath 获取特定节点的 InnerText
doc.DocumentNode.SelectSingleNode("/html/body/center/table/tbody/tr[5]/td[3]/font/font/span").InnerText

但相反,它使用以下 xpath 向我返回 InnerText /html/body/center/form/table/tbody/tr[5]/td[3]/font/font/span

我有什么错误吗?我必须更具体地使用 Xpath 吗?如果是这样,请通过指定如何更具体来帮助我。

4

1 回答 1

2

您在处理标签以修复错误编写的 HTML 时遇到了已知行为。HTML Agility Pack 网站上有一个跟踪此问题的错误,幸运的是,有一个解决方法。

        HtmlDocument doc = new HtmlDocument();
        // v== Add this line before loading a document
        HtmlNode.ElementsFlags.Remove("form"); 
        doc.Load("doc.html");
于 2013-01-07T20:47:17.050 回答