zoukankan      html  css  js  c++  java
  • C#读取Rss功能函数

    /// <summary>
    /// 获取Rss资源
    /// </summary>
    /// <param name="RssURL"></param>
    /// <returns></returns>
    public static DataTable ReadRss(string RssURL)
    {
        DataTable Dt = new DataTable();
        DataColumn Title = new DataColumn("Title", typeof(string));
        DataColumn Author = new DataColumn("Author", typeof(string));
        DataColumn PubDate = new DataColumn("PubDate", typeof(string));
        DataColumn Link = new DataColumn("Link", typeof(string));
        Dt.Columns.Add(Title);
        Dt.Columns.Add(Author);
        Dt.Columns.Add(PubDate);
        Dt.Columns.Add(Link);

        System.Net.WebRequest myRequest = System.Net.WebRequest.Create(RssURL);
        System.Net.WebResponse myResponse = myRequest.GetResponse();

        System.IO.Stream rssStream = myResponse.GetResponseStream();
        System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
        rssDoc.Load(rssStream);

        System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
        for (int i = 0; i < rssItems.Count; i++)
        {
            DataRow Row = Dt.NewRow();
            System.Xml.XmlNode rssDetail;
            //标题
            rssDetail = rssItems.Item(i).SelectSingleNode("title");
            if (rssDetail != null)
            {
                Row["Title"] = rssDetail.InnerText;
            }
            else
            {
                Row["Title"] = "";
            }
            //作者
            rssDetail = rssItems.Item(i).SelectSingleNode("author");
            if (rssDetail != null)
            {
                Row["Author"] = rssDetail.InnerText;
            }
            else
            {
                Row["Author"] = "";
            }
            //发布时间
            rssDetail = rssItems.Item(i).SelectSingleNode("pubDate");
            if (rssDetail != null)
            {
                Row["PubDate"] = Convert.ToDateTime(rssDetail.InnerText).ToString("yyyy年MM月dd日");
            }
            else
            {
                Row["PubDate"] = "";
            }
            //链接地址
            rssDetail = rssItems.Item(i).SelectSingleNode("link");
            if (rssDetail != null)
            {
                Row["Link"] = rssDetail.InnerText;
            }
            else
            {
                Row["Link"] = "";
            }
            Dt.Rows.Add(Row);
        }
        return Dt;
    }
    作者:Apollo
    出处:http://apollo.cnblogs.com/
    如果您觉得本文对您的学习有所帮助,可通过“微信”或“支付宝”打赏博主,或者点击页面右下角【好文要顶】支持博主。
  • 相关阅读:
    设计模式之美学习-接口隔离原则(七)
    设计模式之美学习-里式替换原则(六)
    设计模式之美学习-开闭原则(五)
    设计模式之美学习-设计原则之单一职责(四)
    设计模式之美学习-如何进行面向对象设计(三)
    ffmpeg 从内存中读取数据(或将数据输出到内存)
    CImage 对话框初始化时候显示透明 PNG
    RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)
    RTMPdump(libRTMP) 源代码分析 8: 发送消息(Message)
    RTMPdump(libRTMP) 源代码分析 7: 建立一个流媒体连接 (NetStream部分 2)
  • 原文地址:https://www.cnblogs.com/Apollo/p/1502429.html
Copyright © 2011-2022 走看看