




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文由麦可网整理,转载请注明Windows Phone 7 网络编程之RSS阅读器 实现一个RSS阅读器,通过你输入的RSS地址来获取RSS的信息列表和查看RSS文章中的详细内容。RSS阅读器是使用了WebClient类来获取网络上的RSS的信息,然后再转化为自己定义好的RSS实体类对象的列表,最后绑定到页面上。(1) RSS实体类和RSS服务类 RssItem.csusing System.Net;using System.Text.RegularExpressions;namespace WindowsPhone.Helpers / / RSS对象类 / public class RssItem / / 初始化一个RSS目录 / / 标题 / 内容 / 发表事件 / 文章地址 public RssItem(string title, string summary, string publishedDate, string url) Title = title; Summary = summary; PublishedDate = publishedDate; Url = url; /解析html PlainSummary = HttpUtility.HtmlDecode(Regex.Replace(summary, +?, ); /标题 public string Title get; set; /内容 public string Summary get; set; /发表时间 public string PublishedDate get; set; /文章地址 public string Url get; set; /解析的文本内容 public string PlainSummary get; set; RssService.cs using System;using System.Collections.Generic;using System.IO;using System.Net;using System.ServiceModel.Syndication;using System.Xml;namespace WindowsPhone.Helpers / / 获取网络RSS服务类 / public static class RssService / / 获取RSS目录列表 / / RSS的网络地址 / 获取完成事件 public static void GetRssItems(string rssFeed, ActionIEnumerable onGetRssItemsCompleted = null, Action onError = null, Action onFinally = null) WebClient webClient = new WebClient(); /注册webClient读取完成事件 webClient.OpenReadCompleted += delegate(object sender, OpenReadCompletedEventArgs e) try if (e.Error != null) if (onError != null) onError(e.Error); return; /将网络获取的信息转化成RSS实体类 List rssItems = new List(); Stream stream = e.Result; XmlReader response = XmlReader.Create(stream); SyndicationFeed feeds = SyndicationFeed.Load(response); foreach (SyndicationItem f in feeds.Items) RssItem rssItem = new RssItem(f.Title.Text, f.Summary.Text, f.PublishDate.ToString(), f.Links0.Uri.AbsoluteUri); rssItems.Add(rssItem); /通知完成返回事件执行 if (onGetRssItemsCompleted != null) onGetRssItemsCompleted(rssItems); finally if (onFinally != null) onFinally(); ; webClient.OpenReadAsync(new Uri(rssFeed); (2) RSS页面展示 MainPage.xaml MainPage.xaml.cs using System.Windows;using System.Windows.Controls;using Microsoft.Phone.Controls;using WindowsPhone.Helpers;namespace ReadRssItemsSample public partial class MainPage : PhoneApplicationPage private string WindowsPhoneBlogPosts = ; public MainPage() InitializeComponent(); private void Button_Click(object sender, RoutedEventArgs e) if (rssURL.Text != ) WindowsPhoneBlogPosts = rssURL.Text; else MessageBox.Show(请输入RSS地址!); return; /加载RSS列表 RssService.GetRssItems( WindowsPhoneBlogPosts, (items) = listbox.ItemsSource = items; , (exception) = MessageBox.Show(exception.Message); , null ); /查看文章的详细内容 private void OnSelectionChanged(object sender, SelectionChangedEventArgs e) if (listbox.SelectedItem = n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分包单位进场施工管理协议书4篇
- 合同审查及管理流程模板
- 安全教育题库考试题及答案
- 2025年萧山幼儿合同制教师笔试真题及答案解析(回忆版本)
- 2025年康复医学治疗技术(副高级职称)试卷及答案
- 草原上的骑马经历草原风光写景15篇范文
- 法律合规风险评估与处理流程模板
- 新生儿窒息复苏试卷及答案
- 2025年图像几何变换题库及答案
- 眼科用药护理试题及答案
- 浙江省通用安装工程预算定额第八册
- 乡村振兴战略实施与美丽乡村建设课件
- 中频电疗法理疗(共60张PPT)精选
- 医学信息检索与利用智慧树知到答案章节测试2023年杭州医学院
- 黑底搭配大气企业宣传商业计划书商务通用PPT模板
- GB/T 17608-2006煤炭产品品种和等级划分
- 沪教五年级数学上册第一单元测试卷
- 地下停车库设计统一规定
- 综合实践课《绳结》教学设计
- 建筑装饰设计收费管理规定
- 电子课件-《市场营销》-A45-2298完整版教学课件全书电子讲义(最新)
评论
0/150
提交评论