Windows Phone 7 网络编程之RSS阅读器.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:6 大小:217KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Windows Phone 7 网络编程之RSS阅读器.doc

WindowsPhone7网络编程之RSS阅读器.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

本文由麦可网整理,转载请注明WindowsPhone7网络编程之RSS阅读器实现一个RSS阅读器,通过你输入的RSS地址来获取RSS的信息列表和查看RSS文章中的详细内容。RSS阅读器是使用了WebClient类来获取网络上的RSS的信息,然后再转化为自己定义好的RSS实体类对象的列表,最后绑定到页面上。(1)RSS实体类和RSS服务类RssItem.csusingSystem.Net;usingSystem.Text.RegularExpressions;namespaceWindowsPhone.Helpers{///<summary>///RSS对象类///</summary>publicclassRssItem{///<summary>///初始化一个RSS目录///</summary>///<paramname="title">标题</param>///<paramname="summary">内容</param>///<paramname="publishedDate">发表事件</param>///<paramname="url">文章地址</param>publicRssItem(stringtitle,stringsummary,stringpublishedDate,stringurl){Title=title;Summary=summary;PublishedDate=publishedDate;Url=url;//解析htmlPlainSummary=HttpUtility.HtmlDecode(Regex.Replace(summary,"<[^>]+?>",""));}//标题publicstringTitle{get;set;}//内容publicstringSummary{get;set;}//发表时间publicstringPublishedDate{get;set;}//文章地址publicstringUrl{get;set;}//解析的文本内容publicstringPlainSummary{get;set;}}}RssService.csusingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Net;usingSystem.ServiceModel.Syndication;usingSystem.Xml;namespaceWindowsPhone.Helpers{///<summary>///获取网络RSS服务类///</summary>publicstaticclassRssService{///<summary>///获取RSS目录列表///</summary>///<paramname="rssFeed">RSS的网络地址</param>///<paramname="onGetRssItemsCompleted">获取完成事件</param>publicstaticvoidGetRssItems(stringrssFeed,Action<IEnumerable<RssItem>>onGetRssItemsCompleted=null,Action<Exception>onError=null,ActiononFinally=null){WebClientwebClient=newWebClient();//注册webClient读取完成事件webClient.OpenReadCompleted+=delegate(objectsender,OpenReadCompletedEventArgse){try{if(e.Error!=null){if(onError!=null){onError(e.Error);}return;}//将网络获取的信息转化成RSS实体类List<RssItem>rssItems=newList<RssItem>();Streamstream=e.Result;XmlReaderresponse=XmlReader.Create(stream);SyndicationFeedfeeds=SyndicationFeed.Load(response);foreach(SyndicationItemfinfeeds.Items){RssItemrssItem=newRssItem(f.Title.Text,f.Summary.Text,f.PublishDate.ToString(),f.Links[0].Uri.AbsoluteUri);rssItems.Add(rssItem);}//通知完成返回事件执行if(onGetRssItemsCompleted!=null