/// <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#中,控件会触发各种事件,如Button的Click事件,当用户点击加载按钮时,对应的事件处理函数会被调用,执行加载RSS源的操作。开发者需要理解如何使用事件处理程序和委托来响应用户操作。 在调试和测试方面,理解...
【C#之RSS新闻小偷】是一个基于C#编程语言开发的应用程序,主要功能是抓取和处理RSS(Really Simple Syndication)新闻源。RSS是一种用于发布和订阅内容的XML格式,常见于博客、新闻站点等,使得用户可以方便地获取...
*** (C#) RSS 功能实现知识点详解: 1. RSS 基础概念:RSS(Really Simple Syndication)是一种基于XML标准的轻量级信息聚合方式,通常被用于网站内容摘要的发布。RSS文件包含了网站的标题、描述、更新时间以及指向...
【北大青鸟 ACCP5.0 S2 C# RSS完整实例】是一个针对初学者和进阶者设计的课程,旨在帮助他们深入理解C#编程语言,并掌握RSS(Really Simple Syndication)技术的应用。该课程是北大青鸟ACCP5.0系列的第二阶段,旨在...
在RSS阅读器中,C#代码负责与数据库交互,存储和读取用户的订阅信息,实现RSS源的添加、删除功能。同时,C#也用于处理用户交互事件,如点击按钮时触发的函数调用。 **数据存储** RSS阅读器需要持久化存储用户的订阅...
”这表明这个项目是用C#编程语言编写的,且在ASP.NET平台上实现了RSS feed的自定义功能。它包含了两种不同的RSS输出方法,尽管它们可能在实现上有所不同,但基本原理和目的相同。由于压缩包没有包含数据库,我们可以...
在这个"简单新闻阅读器"项目中,C#被用来实现一个基本的RSS和ATOM新闻聚合功能。 【XML解析:RSS与ATOM】 RSS(Really Simple Syndication)和ATOM是两种广泛使用的XML格式,用于发布和订阅新闻和其他内容。RSS...
1. **解析RSS Feed**:使用XML解析器(如System.Xml命名空间中的类)读取RSS XML文件,并将其转换为对象模型,如XDocument或XmlNode。这使得我们可以方便地访问和操作RSS数据。 2. **创建RSS Feed**:如果需要创建...
在C#编程环境中构建这样的应用可以利用.NET框架的强大功能,为用户提供高效的性能和丰富的功能集。 C#是一种面向对象的编程语言,由微软开发,广泛应用于开发Windows桌面应用、Web应用以及游戏开发等。它的语法简洁...
RSSHandler1可能是用某种编程语言(如Python、Java、C#等)编写的,负责处理RSS数据的类或者函数库。 在开发RSS阅读器时,常见的知识点包括: 1. **RSS格式理解**:需要熟悉RSS 2.0或RSS 1.0等版本的规范,知道...
在实际开发中,`XmlDocument`和XPath通常用于处理复杂的数据交互,例如配置文件读取、Web服务响应解析等。但需要注意,由于DOM模型将整个XML加载到内存,对于大型XML文件可能会消耗大量资源。在这种情况下,可以考虑...
本章的主要任务是通过继承实现RSS和Atom两种频道文件格式的支持,并为这些频道提供具有修改和查看功能的右键菜单。这要求学生理解继承的概念,掌握其使用方法,以及如何利用继承来建立父类和子类之间的关系。 在...
当遇到元素开始、结束、属性等时触发回调函数。适合处理大型XML文件,内存占用低,但操作相对复杂。 - **PULL解析**:类似于SAX,也采用事件驱动,但更轻量级,适合移动设备或资源受限的环境。 3. **解析库**: ...
- **RSS**:了解RSS(Really Simple Syndication)的基本概念。 - **HTML、CSS** - **HTML基本文档结构**:包括<!DOCTYPE>、等标签。 - **CSS核心**:学习选择器、盒模型等CSS核心知识。 - **布局**:掌握浮动...
本书第一部分介绍了LINQ技术及C#和VB为此提供的新语言特性,第二、三、四部分详细介绍了LINQ的三大主要功能LINQ to Objects、LINQ to SQL、LINQ to XML,第五部分研究了LINQ的可扩展性、在应用程序中使用各种LINQ...
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 第一天:开发...
C#提供了丰富的类库,如System.Xml,使开发人员能够方便地读取、写入和操作XML文档。这一章会涵盖使用XmlNode、XmlDocument、XPathNavigator等对象进行XML处理的方法,以及LINQ to XML的高级特性。 通过这套完整的...
需要检查构造函数的定义是否正确,并确认是否有同名的构造函数。 **25. 异常跟踪时,应充分重视追踪堆栈(stackTrace)信息** 异常的`StackTrace`属性提供了发生异常时的调用堆栈信息,这对于定位问题非常有用。 **26...
- **初始化**: 文档中提到了初始化函数InitReader()的更新,在版本1.00l中添加了错误代码E_NO_READER_INSTALLED,用于处理未安装读取器的情况。 - **错误处理**: 通过引入新的错误代码,开发者能够在应用程序中更好...