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

 

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

 

posted @ 2015-08-08 18:32  LineZero  阅读(2955)  评论(1编辑  收藏  举报