2015-01-04 7 views
5

HtmlAgilityPack을 사용하여 웹 사이트 내의 요소를 찾으려고합니다.HtmlAgilityPack.HtmlNode SelectNodes에 대한 정의가 없습니다

using System.Net.Http; 
using HtmlAgilityPack; 
다음

내가 한 :

는 내가 추가 한 NuGet 관리자를 사용하여 윈도우 8 보편적 인 응용 프로그램 (C#을)

을 만들어 : 내 문제는 다음과

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

하지만 Visual Studio는 다음과 같이 말합니다 :

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

나는 이미 문제를 봤지만 모든 웹 사이트는 코드가 "DocumentNode"대신 "DocumentElement"라고하는 또 다른 문제를 해결했습니다.

어떤 힌트가 있습니까?

감사합니다.

답변

8

예, SelectNodes은 WP8에서 사용할 수 없지만 사용할 수 있습니다.

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

대신에.

+0

대단히 감사합니다! 문제가 해결되었습니다! :-) –

+3

좋아,하지만 어떻게 더 복잡한 XPATH 쿼리를합니까? – BrainSlugs83

+1

가 doc.DocumentNode.SelectNodes ("// DIV [@에는 itemprop = 'softwareVersion']") 사용 doc.DocumentNode.Descendants ("DIV"). 상당 수행 할 위치 (p => P .GetAttributeValue ("itemprop", "") == "softwareVersion") –

관련 문제