asp.net 中的RSS的用法(二)--RSS读取

    读取RSS文件,其实就是读取XML文件。把各个节结内容,获取下来就万事OK了。
如下所示:

 这是获取RSS的一个方法:(本代码可下载)
public   void  GetRss()
    {
        //申明一个客户端对象
        WebClient webclient 
=   new  WebClient();
        webclient.Encoding 
=  Encoding.UTF8;
        XmlDocument xmlDoc;
        //   Rss文件地址
        
string  m_strRssUrl  = " http://www.gkcity.com/rss/news.aspx?c=TradeView ";
         using  (Stream rssStream  =  webclient.OpenRead(m_strRssUrl))
        {
            TextReader txtReader 
=   new  StreamReader(rssStream);
            XmlTextReader xmlTxtReader 
=   new  XmlTextReader(txtReader);
            xmlDoc 
=   new  XmlDocument();
            xmlDoc.Load(xmlTxtReader);
        }

        XmlNodeList Hnode 
=  xmlDoc.SelectNodes( " rss/channel/item " );
        StringBuilder sb 
=   new  StringBuilder();
        // RssItem是一个类。代码如下
       
ContractedBlock.gif ExpandedBlockStart.gif
public class RssItem
{
    
//
    private string title;
    
private string link;
    
private string description;
    
private string pubDate;
    
//
    public string Title
    {
        
get { return title; }
        
set { title = value; }
    }
    
//
    public string Link
    {
        
get { return link; }
        
set { link = value; }
    }
    
//
    public string Description
    {
        
get { return description; }
        
set { description = value; }
    }
    
//
    public string PubDate
    {
        
get { return pubDate; }
        
set { pubDate = value; }
    }
    
//
    public RssItem(XmlNode node)
    {
        XmlNode selected;
        selected 
= node.SelectSingleNode("title");
        
if (selected != null)
            title 
= selected.InnerText;
        selected 
= node.SelectSingleNode("link");
        
if (selected != null)
            link 
= selected.InnerText;
        selected 
= node.SelectSingleNode("description");
        
if (selected != null)
            description 
= selected.InnerText;
        selected 
= node.SelectSingleNode("pubDate");
        
if (selected != null)
            pubDate 
= selected.InnerText;
    }
}

        List < RssItem >  rssitems  =   new  List < RssItem > ();
        
        
foreach  (XmlNode no  in  Hnode)
        {
            rssitems.Add(
new  RssItem(no));
            
// sb.Append(no.InnerText);
        }

        
foreach  (RssItem var  in  rssitems)
        {
           News news 
=   new  News();
            news.Title 
=  var.Title;
            news.Link 
=  var.Link;
            news.RssUrl 
=  m_strRssUrl;
            news.PubDate 
= Convert.ToDateTime(var.PubDate);
            news.Description 
=  var.Description;
            //注意如图你要想把读取的RSS文件保存到数据库中可以重写下面的SaveNews()方法。
            //SaveNews();
            
this .Label1.Text = sb.Append( " <div><a href=' " + var.Link + " ' target=_blank> " + var.Title + " </a></div> " ).ToString();
        }
       
    }

就这样一个简单的读取过程完成了。

转载于:https://www.cnblogs.com/seebook/articles/803291.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值