⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rssfeed.cs

📁 可以收藏RSS和ATOM格式新闻频道,还可以收藏常用的html格式的网址;可以在新闻快客的地址栏直接输入任何网址浏览网页官方网址:http://t811.uu1001.com
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Windows.Forms;
namespace NewsReader
{
    [Serializable]
    public class RssFeed : FeedBase
    {
        
        public RssFeed():base(){}

        public RssFeed(string displayName, string url):base(displayName,url)
        {
            base.DisplayName = displayName;
            base.Url = url;
        }

        public RssFeed(string displayName, string url, string descripton, int clicks)
            :base(displayName,url,descripton)
        {
            base.DisplayName = displayName;
            base.Url = url;
            base.Description = descripton;
            base.Clicks = clicks;
        }

        //继承父类的方法,实现对文章查看
        public override void FillArticles()
        {
            try
            {
                XmlDataDocument myXml = new XmlDataDocument();
                myXml.Load(base.Url);                                //读取指定的XML文档
                XmlNode rootnode = myXml.DocumentElement;           //读取XML的根节点
                if (rootnode.Name.ToString() != base.Feedtype)
                {
                    MessageBox.Show("XML格式并非RSS格式,请选择正确的XML格式!");
                    return;
                }

                XmlNode channel = rootnode.FirstChild;
                foreach (XmlNode item in channel.ChildNodes)        //对子节点进行循环
                {
                    if (item.Name == "item")
                    {
                        Article article = new Article();
                        foreach (XmlNode node in item.ChildNodes)        //对子节点进行循环
                        {
                            //将每个节点的内容读到articles象中
                            switch (node.Name)
                            {
                                case "title": article.Title = node.InnerText; break;
                                case "link": article.Url = node.InnerText; break;
                                case "description": article.Description = node.InnerText; break;
                                case "pubDate": article.PubDate = node.InnerText; break;
                            }
                        }


                        article.Clicks = base.Clicks;
                        article.Feedtype = "html";
                        try
                        {
                            if (article.Title != null)
                            {
                                base.Articles.Add(article.Title, article);//将Article对象添加到Articles集合中
                            }
                        }
                        catch (Exception)
                        {
                            return;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                return;
            }
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -