2017-06-06 44 views
0
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,我該怎麼辦?我正在使用敏捷包使用agilitypack時節點集異常

回答

0

您的XPATH是錯誤的。如果你想獲得的所有超級鏈接元素

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

謝謝了很多! –

0

除了@Hung曹您可以使用它代替,你其實可以縮短這個/解決方法:

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