4

我正在尝试让 HtmlAgilityPack 与 Windows 8 Metro Apps(Windows Store Apps)一起使用。我已经在 Windows 控制台应用程序 (C#) 中成功写出了我需要的所有代码,它非常适合解析我需要的 HTML 并返回我需要的所需字符串。

// Create a new HtmlDocument and load the incoming string
        HtmlDocument menu = new HtmlDocument();
        menu.OptionUseIdAttribute = true;
        menu.LoadHtml(response);

        HtmlNode nameToRemove = menu.DocumentNode.SelectSingleNode("//*[@id=\"maincontent_0_contentplaceholder_0_lblHall\"]");

我的问题是DocumentNode.SelectSingleNode通话。我收到以下错误:

错误 2“HtmlAgilityPack.HtmlNode”不包含“SelectSingleNode”的定义,并且找不到接受“HtmlAgilityPack.HtmlNode”类型的第一个参数的扩展方法“SelectSingleNode”(您是否缺少 using 指令或程序集引用?)

我确认我的所有参考设置都与我在控制台应用程序中所做的完全相同,但无法使其正常工作。根据 HtmlAgilityPack twitter 帐户,1.4.5 版本中添加了对 Windows 8 Metro/Windows Phone 8 的支持。我仔细检查了我的 NuGet 包管理器,并安装了 1.4.6。

XPath在 Windows 8 应用程序的 HtmlDocument 中选择节点是否需要做一些特别的事情?任何建议将不胜感激。

谢谢!

编辑:任何人都可以帮助我通过 Linq 查询获得相同的结果。我不确定我会怎么做。

4

1 回答 1

10

Html Agility Pack 依赖 .NET 来实现 XPATH。不幸的是,WinRT 不支持 XPATH,因此在用于 WinRT 的 Html Agility Pack 中没有任何与 XPATH 相关的内容。

于 2013-04-11T06:01:59.887 回答