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


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

把第一版分享给大家。


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

None.gif         public   void  ProcessRSSItem( string  rssURL)
None.gif
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif             
//使用一个字符串rssURL作为它的参数。这个字符串包含了RSS的URL。它使用rssURL的值建立了一个WebRequest项
InBlock.gif
             System.Net.WebRequest myRequest = System.Net.WebRequest.Create(rssURL);
InBlock.gif
InBlock.gif             
//请求的响应将会被放到一个WebResponse对象里
InBlock.gif
             System.Net.WebResponse myResponse = myRequest.GetResponse();
InBlock.gif
InBlock.gif             
//这个WebResponse对象被用来建立一个流来取出XML的值
InBlock.gif
             System.IO.Stream rssStream = myResponse.GetResponseStream();
InBlock.gif
InBlock.gif             
//使用一个XmlDocument对象来存储流中的XML内容。XmlDocument对象用来调入XML的内容
InBlock.gif
             System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
InBlock.gif             rssDoc.Load(rssStream);
InBlock.gif
InBlock.gif             
//个项应该在rss/channel/里。使用XPath表达,一个项节点列表可以如下方式创建
InBlock.gif
             System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
InBlock.gif
InBlock.gif             
string title = "";
InBlock.gif             
string link = "";
InBlock.gif             
string description = "";
InBlock.gif
InBlock.gif             
for (int i = 0; i < rssItems.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif             
dot.gif{
InBlock.gif
InBlock.gif              System.Xml.XmlNode rssDetail;
InBlock.gif
InBlock.gif              rssDetail 
= rssItems.Item(i).SelectSingleNode("title");
InBlock.gif              
if (rssDetail != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif              
dot.gif{
InBlock.gif               title 
= rssDetail.InnerText;
ExpandedSubBlockEnd.gif              }

InBlock.gif              
else
ExpandedSubBlockStart.gifContractedSubBlock.gif              
dot.gif{
InBlock.gif               title 
= "";
ExpandedSubBlockEnd.gif              }

InBlock.gif
InBlock.gif              rssDetail 
= rssItems.Item(i).SelectSingleNode("link");
InBlock.gif              
if (rssDetail != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif              
dot.gif{
InBlock.gif               link 
= rssDetail.InnerText;
ExpandedSubBlockEnd.gif              }

InBlock.gif              
else
ExpandedSubBlockStart.gifContractedSubBlock.gif              
dot.gif{
InBlock.gif               link 
= "";
ExpandedSubBlockEnd.gif              }

InBlock.gif
InBlock.gif              rssDetail 
= rssItems.Item(i).SelectSingleNode("description");
InBlock.gif              
if (rssDetail != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif              
dot.gif{
InBlock.gif               description 
= rssDetail.InnerText;
ExpandedSubBlockEnd.gif              }

InBlock.gif              
else
ExpandedSubBlockStart.gifContractedSubBlock.gif              
dot.gif{
InBlock.gif               description 
= "";
ExpandedSubBlockEnd.gif              }

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

InBlock.gif
ExpandedBlockEnd.gif            }

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

项目源码下载地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值