我的代码是:
namespace MyNSpace
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
}
async private void ButtonParse_Click(object sender, RoutedEventArgs e)
{
HttpClient client = new HttpClient();
var doc = new HtmlAgilityPack.HtmlDocument();
string url = "www.mysite.com";
string html = await client.GetStringAsync(url);
doc.LoadHtml(html);
HtmlNodeCollection tl = doc.DocumentNode.SelectNodes("//div[@class=\"photo\"]/a/img");
//I must still write this part
}
}
}
我在var doc = new HtmlAgilityPack.HtmlDocument();
行上收到此错误:
类型'System.Xml.XPath.IXPathNavigable'在程序集中定义 没有引用。您必须添加对程序集的引用 'System.Xml.XPath,Version = 2.0.5.0,Culture = neutral,
为什么呢?我读到如果他们没有手动加载某个System.Xml.XPath.dll并编写Using行,则会遇到此问题。如果我尝试手动导入DLL,我会收到一个错误,我正在尝试添加对不兼容的程序集的引用。这是我第一次为Windows Phone编程,所以如果这是一个小问题我也不会感到惊讶。
答案 0 :(得分:0)
确保添加了对System.Xml.XPath.dll
的Silverlight版本的引用。这需要在Windows Phone Project中使用HtmlAgilityPack。
我仅使用Windows Phone 7.5测试过,但基于this article,它似乎也适用于Windows Phone 8项目(请参阅文章元数据> 兼容性
该链接中的平台部分)。就我而言,.dll
位于此路径中:
C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0\Libraries\Client