【问题标题】:HtmlAgilityPack.HtmlNode no definition for SelectNodesHtmlAgilityPack.HtmlNode 没有选择节点的定义
【发布时间】:2015-03-02 04:57:22
【问题描述】:

我正在尝试使用 HtmlAgilityPack 在网站中查找元素。 我的问题如下:

我创建了一个 Windows 8 通用应用程序 (c#)

使用我添加的 NuGet 管理器:

using System.Net.Http;
using HtmlAgilityPack;

然后我做了:

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'

我已经用谷歌搜索了这个问题,但所有网站都解决了另一个问题,代码显示“DocumentElement”而不是“DocumentNode”。

你有什么提示吗?

谢谢!

【问题讨论】:

    标签: c# windows-phone-8 html-agility-pack


    【解决方案1】:

    是的,SelectNodes 在 WP8 上不可用,但您可以使用;

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

    改为。

    【讨论】:

    • 好的,但是如何进行更复杂的 XPATH 查询呢?
    • 做 doc.DocumentNode.SelectNodes("//div[@itemprop='softwareVersion']") 的等价物使用 doc.DocumentNode.Descendants("div").Where(p => p.GetAttributeValue("itemprop", "") == "softwareVersion")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多