`
wyf
  • 浏览: 433331 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

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;
}
 
分享到:
评论

相关推荐

    c#编写RSS阅读器

    在C#中,控件会触发各种事件,如Button的Click事件,当用户点击加载按钮时,对应的事件处理函数会被调用,执行加载RSS源的操作。开发者需要理解如何使用事件处理程序和委托来响应用户操作。 在调试和测试方面,理解...

    C#之RSS新闻小偷

    【C#之RSS新闻小偷】是一个基于C#编程语言开发的应用程序,主要功能是抓取和处理RSS(Really Simple Syndication)新闻源。RSS是一种用于发布和订阅内容的XML格式,常见于博客、新闻站点等,使得用户可以方便地获取...

    asp.net(c#) RSS功能实现代码

    *** (C#) RSS 功能实现知识点详解: 1. RSS 基础概念:RSS(Really Simple Syndication)是一种基于XML标准的轻量级信息聚合方式,通常被用于网站内容摘要的发布。RSS文件包含了网站的标题、描述、更新时间以及指向...

    北大青鸟 ACCP5.0 S2 C# RSS完整实例

    【北大青鸟 ACCP5.0 S2 C# RSS完整实例】是一个针对初学者和进阶者设计的课程,旨在帮助他们深入理解C#编程语言,并掌握RSS(Really Simple Syndication)技术的应用。该课程是北大青鸟ACCP5.0系列的第二阶段,旨在...

    RSS阅读器(WPF)

    在RSS阅读器中,C#代码负责与数据库交互,存储和读取用户的订阅信息,实现RSS源的添加、删除功能。同时,C#也用于处理用户交互事件,如点击按钮时触发的函数调用。 **数据存储** RSS阅读器需要持久化存储用户的订阅...

    rss.rar_ RSS asp.net_RSS asp.net_asp.net_asp.net rss_rss asp.n

    ”这表明这个项目是用C#编程语言编写的,且在ASP.NET平台上实现了RSS feed的自定义功能。它包含了两种不同的RSS输出方法,尽管它们可能在实现上有所不同,但基本原理和目的相同。由于压缩包没有包含数据库,我们可以...

    c#编写的简单新闻阅读器

    在这个"简单新闻阅读器"项目中,C#被用来实现一个基本的RSS和ATOM新闻聚合功能。 【XML解析:RSS与ATOM】 RSS(Really Simple Syndication)和ATOM是两种广泛使用的XML格式,用于发布和订阅新闻和其他内容。RSS...

    ASP.NET RSS 源码。包括订阅等。

    1. **解析RSS Feed**:使用XML解析器(如System.Xml命名空间中的类)读取RSS XML文件,并将其转换为对象模型,如XDocument或XmlNode。这使得我们可以方便地访问和操作RSS数据。 2. **创建RSS Feed**:如果需要创建...

    新闻阅读器-C#编程

    在C#编程环境中构建这样的应用可以利用.NET框架的强大功能,为用户提供高效的性能和丰富的功能集。 C#是一种面向对象的编程语言,由微软开发,广泛应用于开发Windows桌面应用、Web应用以及游戏开发等。它的语法简洁...

    这是我从网上下载的Rss阅读器

    RSSHandler1可能是用某种编程语言(如Python、Java、C#等)编写的,负责处理RSS数据的类或者函数库。 在开发RSS阅读器时,常见的知识点包括: 1. **RSS格式理解**:需要熟悉RSS 2.0或RSS 1.0等版本的规范,知道...

    XML.zip_c# xml_xmldocument

    在实际开发中,`XmlDocument`和XPath通常用于处理复杂的数据交互,例如配置文件读取、Web服务响应解析等。但需要注意,由于DOM模型将整个XML加载到内存,对于大型XML文件可能会消耗大量资源。在这种情况下,可以考虑...

    北大青鸟 深入.NET平台和C#编程 教学资料 PPT6/9

    本章的主要任务是通过继承实现RSS和Atom两种频道文件格式的支持,并为这些频道提供具有修改和查看功能的右键菜单。这要求学生理解继承的概念,掌握其使用方法,以及如何利用继承来建立父类和子类之间的关系。 在...

    XML读取以及解析

    当遇到元素开始、结束、属性等时触发回调函数。适合处理大型XML文件,内存占用低,但操作相对复杂。 - **PULL解析**:类似于SAX,也采用事件驱动,但更轻量级,适合移动设备或资源受限的环境。 3. **解析库**: ...

    net学习计划

    - **RSS**:了解RSS(Really Simple Syndication)的基本概念。 - **HTML、CSS** - **HTML基本文档结构**:包括&lt;!DOCTYPE&gt;、等标签。 - **CSS核心**:学习选择器、盒模型等CSS核心知识。 - **布局**:掌握浮动...

    LINQ 实战 1/11

    本书第一部分介绍了LINQ技术及C#和VB为此提供的新语言特性,第二、三、四部分详细介绍了LINQ的三大主要功能LINQ to Objects、LINQ to SQL、LINQ to XML,第五部分研究了LINQ的可扩展性、在应用程序中使用各种LINQ...

    【卷一/共两卷】AJAX实战pdf高清版90M

    10.2 服务器端框架:C# 10.2.1 服务器与数据库 10.2.2 测试服务器端代码. 10.3 客户端框架 10.3.1 HTML 10.3.2 JavaScript 10.3.3 访问服务器 10.4 添加功能:包含不同查询的多个元素 10.5 重构 10.5.1 第一天:开发...

    南方学院、南方IT教育、XML课件

    C#提供了丰富的类库,如System.Xml,使开发人员能够方便地读取、写入和操作XML文档。这一章会涵盖使用XmlNode、XmlDocument、XPathNavigator等对象进行XML处理的方法,以及LINQ to XML的高级特性。 通过这套完整的...

Global site tag (gtag.js) - Google Analytics