2015-01-04 16 views
5

Sto cercando di utilizzare HtmlAgilityPack per trovare elementi all'interno di un sito Web. il mio problema è il seguente:HtmlAgilityPack.HtmlNode nessuna definizione per SelectNodes

ho creato un Windows 8 App universale (C#)

Con la NuGet manager ho aggiunto:

using System.Net.Http; 
using HtmlAgilityPack; 

poi ho fatto:

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"); 

Ma lo studio visivo dice:

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

Ho già cercato su Google il problema, ma tutti i siti Web hanno appena risolto un altro problema in cui il codice diceva "DocumentElement" anziché "DocumentNode".

Avete qualche suggerimento?

Grazie!

risposta

8

Sì, SelectNodes non è disponibile su WP8 ma è possibile utilizzare;

invece.

+0

Grazie mille! Problema risolto! :-) –

+3

Ok, ma come si fanno le query XPATH più complicate? – BrainSlugs83

+1

Per fare l'equivalente di doc.DocumentNode.SelectNodes ("// div [@ itemprop = 'Versione software']") uso doc.DocumentNode.Descendants ("div"). Dove (p => p .GetAttributeValue ("itemprop", "") == "softwareVersion") –

Problemi correlati