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

📄 rssfeed.cs

📁 C# 屏幕截图的源程序
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Xml;

namespace ScreenSaver1.Rss
{
    /// <summary>
    /// 表示 RSS 2.0 XML 文档中的一个 RSS 元素。
    /// </summary>
    public class RssFeed
    {
        private List<RssChannel> channels;
        public IList<RssChannel> Channels { get { return channels.AsReadOnly(); } }
        public RssChannel MainChannel { get { return Channels[0]; } }

        /// <summary>
        /// 以工厂模式使用的私有构造函数。
        /// </summary>
        /// <param name="xmlNode">一个包含 RSSFeed 内容的 XML 块。</param>
        private RssFeed(XmlNode xmlNode)
        {
            channels = new List<RssChannel>();

            // 读取 <rss> 标记
            XmlNode rssNode = xmlNode.SelectSingleNode("rss");

            // 为 <rss> 节点中的每个 <channel> 节点
            // 添加一个频道。
            XmlNodeList channelNodes = rssNode.ChildNodes;
            foreach (XmlNode channelNode in channelNodes)
            {
                RssChannel newChannel = new RssChannel(channelNode);
                channels.Add(newChannel);
            }
        }

        /// <summary>
        /// 根据一个指向有效的 RSS 2.0 XML 文件的 URI 构造 RSSFeed 对象的工厂。
        /// </summary>
        /// <exception cref="System.Net.WebException">当无法在 Web 上找到该 URI 时引发。</exception>
        /// <param name="uri">从该处读取 RSS 源的 URI。</param>
        public static RssFeed FromUri(string uri)
        {
            XmlDocument xmlDoc;
            WebClient webClient = new WebClient();
            using (Stream rssStream = webClient.OpenRead(uri))
            {
                TextReader textReader = new StreamReader(rssStream);
                XmlTextReader reader = new XmlTextReader(textReader);
                xmlDoc = new XmlDocument();
                xmlDoc.Load(reader);
            }
            return new RssFeed(xmlDoc);
        }

        /// <summary>
        /// 根据一个 RSS 2.0 XML 文件的文本构造 RssFeed 对象的工厂。
        /// </summary>
        /// <param name="rssText">一个包含 RSS 源的 XML 数据的字符串。</param>
        public static RssFeed FromText(string rssText)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(rssText);
            return new RssFeed(xmlDoc);
        }
    }
}

⌨️ 快捷键说明

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