2015-01-04 6 views
5

के लिए कोई परिभाषा नहीं है मैं वेबसाइट के भीतर तत्वों को ढूंढने के लिए HtmlAgilityPack का उपयोग करने का प्रयास कर रहा हूं।HtmlAgilityPack.HtmlNode SelectNodes

using System.Net.Http; 
using HtmlAgilityPack; 

तो मैंने किया:

मैं NuGet प्रबंधक मैं जोड़ा साथ Windows 8 सार्वभौमिक अनुप्रयोग (ग #)

बनाया: मेरे समस्या निम्नलिखित है

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' 

मैंने पहले से ही समस्या को हल किया है लेकिन सभी वेबसाइटों ने अभी एक और समस्या हल की है जहां कोड ने "दस्तावेज़ नोड" के बजाय "दस्तावेज़ निष्पादन" कहा था।

क्या आपके पास कोई संकेत है?

धन्यवाद!

उत्तर

8

हाँ, SelectNodes WP8 पर उपलब्ध नहीं है लेकिन आप इसका उपयोग कर सकते हैं;

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

इसके बजाए।

+0

आपको बहुत बहुत धन्यवाद! समस्या हल हो गई है! :-) –

+3

ठीक है, लेकिन आप अधिक जटिल XPATH क्वेरी कैसे करते हैं? – BrainSlugs83

+1

doc.DocumentNode.SelectNodes ("// div [@ itemprop = 'softwareVersion']") उपयोग doc.DocumentNode.Descendants ("div")। के बराबर करने के लिए कहाँ (पी => पी .GetAttributeValue ("itemprop", "") == "सॉफ्टवेयर वर्जन") –

संबंधित मुद्दे