ストアアプリでHtmlAgilityPackのSelectNodesメソッドが使えない

Windows ストアアプリでスクレイピングをするために
HtmlAgilityPack で調べると以下のようなコードが出てきますが
Windows ストアアプリでは SelectNodes メソッドが無くて動きません。

// 名前空間
using HtmlAgilityPack;
 
// コード
string html = "<html>...</html>"
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes(@"/xpath");

原因は WinRT には Xpath が無いためです。
代わりに Descendants メソッド(LINQ)を使いましょう。

// doc.LoadHtml(html);から続き
HtmlNode node = doc.DocumentNode.Descendants("a")// aタグ
    .Where(e => e.GetAttributeValue("id", "") == "target")// id="target"
    .First();// 最初
string text = node.InnterText;
string url = node.GetAttributeValue("href", "");

Metro version and SelectNodes
HtmlAgilityPack and windows 8 winRT


カテゴリー: Windows ストア アプリ タグ: , パーマリンク