使用agilitypack时出现NodeSet异常

时间:2017-06-06 21:54:54

标签: c# web-scraping html-agility-pack

private void ShowStatistics_Click(object sender, RoutedEventArgs e)
    {
        HtmlAgilityPack.HtmlDocument doc = new HtmlDocument();
        HtmlWeb hw = new HtmlWeb();
        doc = hw.Load("http://www.gamerankings.com/browse.html");
        HtmlNodeCollection nodes= doc.DocumentNode.SelectNodes("//a/");
        string result = "";
        foreach (var item in nodes)
        {
            result += item.InnerText+Environment.NewLine;
        }
        Info.ItemsSource = result;

    }

按下按钮,我想从名为Info的文本框中的网页获取信息。 按下按钮后,我得到一个异常,说表达式的结果应该是NodeSet,我该怎么办?我正在使用敏捷包

2 个答案:

答案 0 :(得分:0)

您的XPATH错了。如果要获取所有超链接元素,可以使用此

var nodes = doc.DocumentNode.Descendants("a");

答案 1 :(得分:0)

除了@Hung Cao,你实际上可以缩短这个/解决方法:

foreach (HtmlAgilityPack.HtmlNode node in doc.DocumentNode.SelectNodes("Selector here")){
    //your code here
}