Asp.Net教程,WinForm教程,Asp.Net MVC,vs2008教程,vs2010教程,Silverlight技术,源码下载,Asp.Net视频教程
全站热门标签
vs2010 Silverlight 存储过程 水晶报表 LINQ ADO.NET JavaScript DataGridView GridView AjaxPro DevExpress 面向对象 Extjs XML HTML教程 Oracle jQuery WPF MVC 分页 Office2010 GDI+ Visual C++2010 Dojo MySQL VB.NET WCF4.0 ASPxGridView WinForm textbox Sql2005 cookie Discuz!NT checkbox WCF SQL经典语句 T-SQL F# asp.net VS2008 SQL Ajax DropDownList VS2008新特性 TreeView Access Flex 页面执行时间 字符串 DataSet VB2005 回调 动画 C#时间 游戏 ASP.NET MVC
尚未分类 LINQ教程 Enterprise技术 性能优化/调试 水晶报表与打印 安全与加密 图形图像 文件处理 基础教程 Web Services 内置对象 控件示例 正则表达式\采集 ADO.NET 缓存\泛型\线程 XML技术 Url重写\静态页 vs2008综合教程
当前位置: 主页 > ASP.NET教程 > 尚未分类 >

C#实现获取RSS的简单代码(2)

时间:2010-08-27 23:16来源:未知 作者:admin 点击:

2.在线RSS阅读获取。

页面代码:
  <P style="FONT-SIZE: 11px">
   Feed种子:<asp:TextBox id="FeedUrl" runat="server" Width="440px"></asp:TextBox><BR>
   显示条数:<asp:TextBox id="Num" runat="server" Width="48px"></asp:TextBox></P>
  <P style="FONT-SIZE: 11px">
   <asp:Button id="GetFeed" runat="server" Text="获得RSS"></asp:Button><BR>
   <BR>
   <asp:Label id="RssFeed" runat="server"></asp:Label></P>

后台代码:
  /// <summary>
  /// 获得要显示的Feed种子数据
  /// </summary>
  /// <param name="RssUrl"></param>
  /// <param name="showNewsCount"></param>
  /// <returns></returns>
  public string LoadRSS(string RssUrl, int showNewsCount)
  {
   string strRssList = "";
   string strMsg;
   try
   {      
    XmlDocument objXMLDoc = new XmlDocument();   
    objXMLDoc.Load(RssUrl);  
    XmlNodeList objItems = objXMLDoc.GetElementsByTagName("item");    
  
    if(showNewsCount > 30)
     showNewsCount = 10;  
    if(showNewsCount < 1)
     showNewsCount = objItems.Count;
  
    string title="";
    string link=""; 
    int i;

    if(objXMLDoc.HasChildNodes == true)
    {
     i = 1;
        foreach(XmlNode objNode in objItems)
     {
      if(i<=showNewsCount)
      {
       if(objNode.HasChildNodes == true)
       {
        XmlNodeList objItemsChild = objNode.ChildNodes;
        foreach(XmlNode objNodeChild in objItemsChild)
        {
         switch(objNodeChild.Name)
         {
          case "title":
           title = objNodeChild.InnerText;
           break;
          case "link":
           link = objNodeChild.InnerText;
           break;          
         }         
        }
        i = i+1;
        strRssList += "<a href=" + link +" target=_blank>" + title + "</a><br>"; 
       }      
      }
     }       
    }
    strMsg = strRssList;
   }
   catch
   {
    strMsg = "RSS Feed 源数据出错!";
   }
   return strMsg;
  }

  //获取按钮,获取指定RSS
  private void GetFeed_Click(object sender, System.EventArgs e)
  {
   if(FeedUrl.Text == "")//RSS地址
   {
    RssFeed.Text = "信息源不能为空,您可刷新重试或联系管理员!";
    return ;
   }  
   RssFeed.Text = LoadRSS(FeedUrl.Text,Convert.ToInt32(Num.Text)); //获取指定数目 
  }

3.无刷新动态更新的在线RSS阅读获取

<%@ Page language="c#" Codebehind="XmlHttp.aspx.cs" AutoEventWireup="false" Inherits="LiTianPing.XmlHttp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>XmlHttp</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  <style>td { font-size: 9pt}
  </style>
  <script>
  <!-- 
  var oDiv
  var xh    
  function getXML()
  {   
   xh =new ActiveXObject("Microsoft.XMLHTTP");
   oDiv = document.getElementById("rssitem");
   oDiv.style.display= "";
   try
   {
    //如果是本地改成下面语句直接读取
    //xh.open("GET","/Rss.aspx",false);    
    xh.open("GET","Http://ltp.cnblogs.com/Rss.aspx",false);
    xh.send(null);
    loadData(xh,oDiv);
   }
   catch(e)
   {
    error(oDiv);
   }
  }
  function loadData(xh,oDiv)
  {
   if (xh.readyState == 4)
   {
    xml = xh.responsexml;
    var i;
    var nodes = xml.selectNodes("/rss/channel/item");
    var bloglink = xml.selectSingleNode("/rss/channel/link").text;
    oDiv.innerHTML = "";
    var html;    
    for(i=0;i<nodes.length;i++)
    {    
        
      html += "<div >";
      html += "    <div >";
      html += "        <a class=font1 href='" +nodes[i].selectSingleNode("link").text + "' target='_blank'>" + nodes[i].selectSingleNode("title").text +"</a><BR><BR>";
      html += "    </div>";
      html += "    <div >";
      html += "        " +nodes[i].selectSingleNode("description").text;
      html += "    </div>"           
      //html += "    </div>";
      html += "</div><hr>";

    }
    oDiv.innerHTML = html;
   }
   else
   {
    error(oDiv);
   }
  }

  function error(oDiv)
  {
   oDiv.innerHTML = "载入失败";
  }
  -->
  </script>
 </HEAD>
 <body MS_POSITIONING="GridLayout" onload="window.setTimeout('getXML()',200);">
  <form id="Form1" method="post" runat="server">
   <div align=center>
   <table cellpadding="0" cellspacing="0" border="0" width="80%">
    <tr>
     <td>
      <div id="rssitem" style="WIDTH:80%">数据载入中...</div>
     </td>
    </tr>
   </table>
   </div>
  </form>
 </body>
</HTML>

Tags:RSS
责任编辑:admin
返回顶部
------分隔线----------------------------
推荐内容
骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价 骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价