一个RSS阅读器的源码,不敢独享!


最近有朋友要我帮忙弄一个在线Rss阅读器,找了不少资料,没有完整项目文件,我就根据资料弄了一个

把第一版分享给大家。


你可以随意输入符合标准的Rss地址
代码内含有详细注释,这个只是一个简单的Asp.net示例程序源码,其他的功能可以自行扩展

       public void ProcessRSSItem(string rssURL)

        
{
             
//使用一个字符串rssURL作为它的参数。这个字符串包含了RSS的URL。它使用rssURL的值建立了一个WebRequest项
             System.Net.WebRequest myRequest = System.Net.WebRequest.Create(rssURL);

             
//请求的响应将会被放到一个WebResponse对象里
             System.Net.WebResponse myResponse = myRequest.GetResponse();

             
//这个WebResponse对象被用来建立一个流来取出XML的值
             System.IO.Stream rssStream = myResponse.GetResponseStream();

             
//使用一个XmlDocument对象来存储流中的XML内容。XmlDocument对象用来调入XML的内容
             System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
             rssDoc.Load(rssStream);

             
//个项应该在rss/channel/里。使用XPath表达,一个项节点列表可以如下方式创建
             System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");

             
string title = "";
             
string link = "";
             
string description = "";

             
for (int i = 0; i < rssItems.Count; i++)
             
{

              System.Xml.XmlNode rssDetail;

              rssDetail 
= rssItems.Item(i).SelectSingleNode("title");
              
if (rssDetail != null)
              
{
               title 
= rssDetail.InnerText;
              }

              
else
              
{
               title 
= "";
              }


              rssDetail 
= rssItems.Item(i).SelectSingleNode("link");
              
if (rssDetail != null)
              
{
               link 
= rssDetail.InnerText;
              }

              
else
              
{
               link 
= "";
              }


              rssDetail 
= rssItems.Item(i).SelectSingleNode("description");
              
if (rssDetail != null)
              
{
               description 
= rssDetail.InnerText;
              }

              
else
              
{
               description 
= "";
              }


              Response.Write(
"<p><b><a href='" + link + "' target='new'>" + title + "</a></b>" + description + "</p>");
             
             }


            }

                    
        
//读取rss
        protected void btnRead_Click(object sender, EventArgs e)
        
{
            
string rssURL = txtUrl.Text.Trim();
            Literal1.Text 
= "<font size=5><b>Site: " + rssURL + "</b></font><Br />";
            ProcessRSSItem(rssURL);
        }

项目源码下载地址
posted @ 2007-06-01 14:17  liudao  阅读(1988)  评论(2编辑  收藏  举报
51Aspx.com 版权所有