为什么我不能在Windows Phone 8上使用HtmlAgilityPack?还有什么其它的方法可以在WP8中解析HTML?

11
为什么我不能在Windows Phone 8上使用htmlagilitypack?它似乎在所有平台上都受支持,包括Win8、Win8RT和WP7/WP7.5以及Silverlight 5。是否有一个可以工作的DLL文件?
还有什么其他工具可以用来解析WP8中的HTML?所有建议都是关于htmlagilitypack的。

Anthony 给了你一个正确和可用的答案。我可以亲自证明,因为我曾经遇到过你描述的问题,他的建议立即奏效。将其标记为已接受是一种良好的礼貌方式,这样做将增加下次寻求帮助时有人愿意回应的机会。 - Peter Wone
6个回答

17
问题似乎是NuGet软件包引用了WP8的错误程序集。
默认情况下,它似乎引用了sl4-windowsphone71中的二进制文件,手动删除对HtmlAgilityPack DLL的引用并将其引用到sl3-wp文件夹中的二进制文件,可以解决依赖问题。
这就是我解决问题的方式。

3
如Anthony所说,只需将引用从sl4-windowsphone71替换为sl3-wp,它就可以工作了。

2

似乎Windows Phone 8不喜欢来自Silverlight SDK的System.Xml.XPath.dll。我的应用在Windows Phone 7.5上运行良好,但在WP 8上无法工作。我正在寻找另一种HTML Agility Pack的替代方案。


它在wp8中运行良好,只需要像其他人说的那样修复引用即可。 - matfillion
我发表答案时它并没有起作用 :) 我最终手动重新编译了适用于WP8的HAP ;) - Timotei

1

1

1
我也遇到了这个问题,但原帖作者没有提供太多信息。当我尝试在WP8上使用HtmlAgilityPack时,我遇到的错误与System.Xml引用有关,确切的错误是 “类型'System.Xml.XPath.IXPathNavigable'在未被引用的程序集中定义。您必须添加对程序集'System.Xml.XPath、版本=2.0.5.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35'的引用。” - Anthony

0
在我的lib文件夹中,sl3-wp文件夹是空的。
我通过从NuGet管理器下载HtmlAgilityPack-PCL来修复了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接