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 @   LineZero  阅读(2967)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示