2015-01-04 40 views
5

我正在嘗試使用HtmlAgilityPack來查找網站中的元素。 我的問題是這樣的:HtmlAgilityPack.HtmlNode沒有定義爲SelectNodes

我創建了一個Windows 8的通用的應用程序(C#)

隨着的NuGet經理,我說:

using System.Net.Http; 
using HtmlAgilityPack; 

然後我做:

string htmlPage; 
using (var client = new HttpClient()) 
{ 
    htmlPage = await client.GetStringAsync("http://www.domain.de/"); 
} 

HtmlDocument myDocument = new HtmlDocument(); 
myDocument.LoadHtml(htmlPage); 

//this line results an error @ "SelectNodes" 
var metaTags = myDocument.DocumentNode.SelectNodes("//meta"); 

但視覺工作室說:

Error 1 'HtmlAgilityPack.HtmlNode' does not contain a definition for 'SelectNodes' 

我已經搜索了這個問題,但所有的網站剛剛解決了另一個代碼表示「DocumentElement」代替「DocumentNode」的問題。

你有什麼提示嗎?

謝謝!

回答

8

是的,SelectNodes在WP8上不可用,但您可以使用;

var metaTags = myDocument.DocumentNode.Descendants("meta"); 

改爲。

+0

非常感謝!問題解決了! :-) – 2015-01-04 14:11:12

+3

好的,但你如何做更復雜的XPATH查詢? – BrainSlugs83 2016-10-12 22:06:58

+1

要執行的 doc.DocumentNode.SelectNodes( 「// DIV [@ itemprop = 'softwareVersion']」) 使用 doc.DocumentNode.Descendants( 「DIV」)。等效凡(p值=>點.GetAttributeValue(「itemprop」,「」)==「softwareVersion」) – 2017-05-04 14:03:52