为什么我得到错误'GetXDocument()'是'方法'但是像'类型'一样使用

时间:2014-06-03 12:59:22

标签: c# asp.net visual-studio-2012 html-agility-pack

我有以下类文件,它将搜索页面并提取某些信息并将其显示为输出:

public class Crawler
{

    public string Url
    {
        get;
        set;
    }
    public Crawler() { }
    public Crawler(string Url)
    {
        this.Url = Url;
    }
    public XDocument GetXDocument()
    {
        HtmlAgilityPack.HtmlWeb doc1 = new HtmlAgilityPack.HtmlWeb();
        doc1.UserAgent = "Mozilla/4.0 (conpatible; MSIE 7.0; Windows NT 5.1)";
        HtmlAgilityPack.HtmlDocument doc2 = doc1.Load(Url);
        doc2.OptionOutputAsXml = true;
        doc2.OptionAutoCloseOnEnd = true;
        doc2.OptionDefaultStreamEncoding = System.Text.Encoding.UTF8;
        GetXDocument xdoc = GetXDocument.Parse(doc2.DocumentNode.SelectSingleNode("html").OuterHtml);
        return xdoc;
    }
}

当我运行Web应用程序时,出现以下错误:

Error 1 'WebApplication1.Crawler.GetXDocument()' is a 'method' but is used like a 'type' c:\users\usrs\documents\visual studio 2012\Projects\WebApplication1\WebApplication1\Crawler.cs 30 13 WebApplication1

Error 2 'WebApplication1.Crawler.GetXDocument()' is a 'method', which is not valid in the given context c:\users\usrs\documents\visual studio 2012\Projects\WebApplication1\WebApplication1\Crawler.cs 30 33 WebApplication1

我正在尝试使用以下网页示例:Link to WebCrawler

我的网络应用程序解决方案如下所示:

enter image description here

有人也可以告诉我在哪里添加main功能。

2 个答案:

答案 0 :(得分:2)

更改此

GetXDocument xdoc = GetXDocument.Parse(doc2.DocumentNode.SelectSingleNode("html").OuterHtml);

XDocument xdoc = XDocument.Parse(doc2.DocumentNode.SelectSingleNode("html").OuterHtml);

GetXDocument是一个方法,它返回一个XDocument

的对象

答案 1 :(得分:1)

在您的函数中将GetXDocument更改为XDocument

XDocument xdoc = XDocument.Parse(...
  

我在哪里添加主要功能?

网络应用没有main功能。他们通过处理程序响应HTTP请求。