C#获取Rss资源

作者: Robin 分类: Asp.net 发布时间: 2011-05-08 22:22

一种基于XML文件的RSS信息交互处理方法,该方法首先获取RSS信息所对应的URL,然后读取RSS信息对应的值数据,对RSS信息进行分类整理,确定RSS信息的相关度,建立RSS信息的索引数据库。终端选取信息类,服务端生成定制的RSS信息列表,安装应用程序,传输终端信息,服务端验证终端信息,读取、分析并显示RSS信息。本发明解决了背景技术中信息易相互干扰,操作复杂,不能形成交互,通用性差的技术问题。本发明通用性好,不同终端在同一设备上使用互无干扰。RSS信息列表可随机更新。服务端与终端在整个运行过程中形成互动,使所提供的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;

}

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签云