基于WP7的RSS阅读器

时近年关,手头的事情渐渐进入尾声,最近一段时间一直忙碌于windows8应用程序的开发,突然想到作为只能客户端的一员手机也充当着重要的角色,为什么不能出一个基于WP7系统的应用呢,于是乎创建了这个基于WP7的RSS阅读器,因为不善于页面的美化,所以Copy了官方windows8事例的界面设计。整个程序完成后页面如下图所示.

                    

     在制作的过程中,遇到了一些问题,至今仍无法解决,这里将有问题的代码贴出来,希望得到专业人士的帮助,能帮我解决这个问题。

    

复制代码
private void GetFeedAsync(object uri)
        {
            #region WebClient
            var webClient = new WebClient();
            webClient.OpenReadCompleted += (sender, args) =>
                {
                    if (args.Error == null && !args.Cancelled)
                    {
                        var stream = args.Result;
                        if (stream.CanRead)
                        {
                            using (var sr = new StreamReader(stream, UnicodeEncoding.UTF8))
                            {
                                var builder = new StringBuilder();
                                string tempStr;
                                while ((tempStr = sr.ReadLine()) != null)
                                {
                                    tempStr = tempStr.Replace((char)0x1F, ' ');
                                    builder.Append(tempStr);
                                }

                                var ms = new MemoryStream(Encoding.UTF8.GetBytes(builder.ToString()));
                                using (var xmlReader = XmlReader.Create(ms))
                                {
                                    try
                                    {
                                        // 该行出现异常,异常信息为:Data at the root level is invalid
                                        var feeds = SyndicationFeed.Load(xmlReader);
                                        var feedData = new FeedData();
                                        feedData.Id = new Uri(feeds.Id);
                                        feedData.Description = feeds.Description.Text;
                                        feedData.PubDate = feeds.LastUpdatedTime.DateTime;
                                        feedData.Title = feeds.Title.Text;

                                        foreach (var feedItem in feeds.Items)
                                        {
                                            var item = new FeedItem();
                                            item.Author = feedItem.Authors[0].Name;
                                            item.Content = feedItem.Summary.Text;
                                            item.Link = feedItem.Links[0].Uri;
                                            item.PubDate = feedItem.PublishDate.DateTime;
                                            item.Title = feedItem.Title.Text;
                                            feedData.Items.Add(item);
                                        }
                                        _feeds.Add(feedData);
                                    }
                                    catch (Exception ex)
                                    {

                                    }
                                }
                            }
                        }
                    }
                };
            webClient.OpenReadAsync((Uri)uri);
            #endregion
        }
复制代码

  在代码运行的过程中,总是会出现注释中出现的问题,故发布出来希望能得到大家的指导。谢谢

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值