Tôi đang cố gắng sử dụng HtmlAgilityPack để tìm các phần tử trong trang web. Vấn đề của tôi là như sau:HtmlAgilityPack.HtmlNode không có định nghĩa cho SelectNodes
Tôi tạo ra một ứng dụng Windows 8 phổ cập (C#)
Với Manager NuGet Tôi nói thêm:
using System.Net.Http;
using HtmlAgilityPack;
Sau đó, tôi đã làm:
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");
Nhưng studio trực quan cho biết:
Error 1 'HtmlAgilityPack.HtmlNode' does not contain a definition for 'SelectNodes'
Tôi đã googled vấn đề nhưng tất cả các trang web chỉ giải quyết một vấn đề mà mã cho biết "DocumentElement" thay vì "DocumentNode".
Bạn có bất kỳ gợi ý nào không?
Cảm ơn!
Cảm ơn bạn rất nhiều! Vấn đề được giải quyết! :-) –
Được rồi, nhưng làm thế nào để bạn thực hiện các truy vấn XPath phức tạp hơn? – BrainSlugs83
Để thực hiện điều tương đương với doc.DocumentNode.SelectNodes ("// div [@ itemprop = 'softwareVersion']") sử dụng doc.DocumentNode.Descendants ("div"). Trong trường hợp (p => p .GetAttributeValue ("itemprop", "") == "softwareVersion") –