Win10通用程序 UWP版HtmlAgilityPack UWP应用使用示例
Win10 UWP版HtmlAgilityPack,UWP应用使用示例下载。
Win10 发布了一个多星期,sdk是随着一起发布的,我安装好vs2015和sdk 开发UWP 通用程序。
在做网络解析的时候,用nuget 安装 HtmlAgilityPack 发现在UWP 通用程序里无法使用。
刚开始以为版本的问题,随后更换了几个版本号都发现无法使用。
然后到HtmlAgilityPack 官方开源地址:http://htmlagilitypack.codeplex.com/
下载源码,放到win10 sdk 里面编译,发现很多错误。发现win10sdk 自带的 Microsoft.NETCore.UniversalWindowsPlatform
缺少System.xml.xpath 命名空间,以及一些系统方法的缺少。删除掉一些方法,然后发现xml需要处理才行。
遂在网上搜索相关方法,终于在NuGet 发现微软商城上传的System.Xml.XPath.XDocument,然后添加引用发现可行。
由于.NETCore 的一些缺失,再处理掉一些报错的方法和类。成功编译通过,然后添加到项目也可使用。算是基本出来了一个版本。
下面讲一下使用方法,以及来体验一下UWP通用应用的开发。
1.新建一个windows通用应用。
2.添加一下System.Xml.XPath.XDocument 的引用
nuget命令:
PM> Install-Package System.Xml.XPath.XDocument
也可以在项目右键 管理Nuget 里面查找添加。
3.添加 HtmlAgilityPack.Win10.dll 引用
最终效果如下:
然后我们就可以使用HtmlAgilityPack 下面我们以获取园子的编辑推荐板块为例。
链接地址为:http://www.cnblogs.com/aggsite/headline 最终效果如下:
这里只是简单的做一个示例。
主要代码如下:
private async void Grid_Loading(FrameworkElement sender, object args) { WebRequest request = HttpWebRequest.Create("http://www.cnblogs.com/aggsite/headline"); WebResponse response = await request.GetResponseAsync(); Stream stream = response.GetResponseStream(); var result = ""; using (StreamReader sr = new StreamReader(stream)) { result = sr.ReadToEnd(); } HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(result); var nodes=doc.DocumentNode.SelectNodes("//*[@id=\"post_list\"]/div/div/h3"); foreach (var item in nodes) { ListViewItem lv = new ListViewItem(); lv.Content = item.InnerText; cnblogs.Items.Add(lv); } }
更多请下载示例。
示例下载,内附 HtmlAgilityPack.Win10.dll
https://files.cnblogs.com/files/linezero/CnblogsApp.rar
如果你觉得本文对你有帮助,请点击“推荐”,谢谢。