'HtmlDocument' does not contain a definition for 

本文关键字:definition for not HtmlDocument does contain | 更新日期: 2023-09-27 18:13:25

我试图下载一个网页,并试图提取一些特定的数据在Windows通用应用程序。我使用 htmllagilitypack 我写了以下代码段。但是我有一些错误。

    async public void LoadDataFromWeb()
    {
        var client = new HttpClient(); // Add: using System.Net.Http;
        var url = @"http://www.dsebd.org/displayCompany.php?name=NBL";
        string sourcePage = await client.GetStringAsync(url);
        var doc = new HtmlDocument();
        doc.LoadHtml(sourcePage);
        HtmlNode specificNode = doc.GetElementById("nodeId");
        HtmlNodeCollection nodesMatchingXPath = specificNode.DocumentNode.SelectNodes("x/path/nodes");
    }
错误:

  1. 'HtmlDocument'不包含'GetElementById'的定义,并且没有扩展方法'GetElementById'接受类型'HtmlDocument'的第一个参数可以找到(您是否缺少using指令或汇编引用?)
  2. 'HtmlNode'不包含'DocumentNode'的定义,并且没有找到接受'HtmlNode'类型的第一个参数的扩展方法'DocumentNode'(您是否缺少using指令或汇编引用?)

可能是什么问题?

'HtmlDocument' does not contain a definition for 

'HtmlDocument'不包含'GetElementById'的定义,并且没有扩展方法'GetElementById'接受类型'HtmlDocument'的第一个参数可以找到(您是否缺少using指令或程序集引用?)

应该使用doc.GetElementbyId()代替doc.GetElementbyId()

'HtmlNode'不包含'DocumentNode'的定义,并且没有找到接受'HtmlNode'类型的第一个参数的扩展方法'DocumentNode'(您是否缺少using指令或程序集引用?)

我认为它可以被

取代。
      specificNode.OwnerDocument.DocumentNode

因为它们都返回HtmlNodeCollection

不太确定