通用應用程序(C#)上未列出的HTML Agility Pack SelectSingleNode方法

c# html-agility-pack

我正在用C#開發一個簡單的Web抓取應用程序,這是我的代碼,用於將從服務器接收的html代碼加載到HtmlDocument

string html = res.Content.ToString();
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);

每當我嘗試使用htmlDoc.DocumentNode.SelectSingleNode方法時,我收到此錯誤:

“Html節點不包含SelectSingleNode的引用”。

我錯過了什麼嗎?

我正在Visual Studio 2015中開發一個通用應用程序。使用Nuget管理器下載並安裝了html敏捷包。

一般承認的答案

通用應用程序不支持XPath。因此,您無法使用SelectSingleNodeSelectNodes方法。但是你可以使用Linq

    doc.DocumentNode.Descendants("a")
       .Where(a => a.InnerText.Contains("some text"))
       .Select(a => a.Attributes["href"].Value);

獲得相同的節點



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因