• λ我爱Aspx >> C#.Net >> 如何实现站点的RSS输出_ASP.NET实例
  • 如何实现站点的RSS输出_ASP.NET实例

  • :aspxer  Դ:internet  :2007-4-28 23:43:04  ؼ:.net,asp.net,asp,rss
  • return strRss.ToString();

    }

    //循环读取RSS中的每个ITEM的内容

    private string getRss(IList<Model.Info> listInfo)

    {

    StringBuilder strRss = new StringBuilder();

    foreach (Model.Info var in listInfo)

    {

    string nickname = DAL.Users.instance.GetModelBasic(var.Author).NickName;

    string content = Function.ReplaceHtml(var.Content);

    content = Function.ReplaceXml(content);

    content = (content.Length > 300) ? content.Substring(0, 300) + "" : content;

    string link = Function.getConfig("MyUrl") + nickname + "/blog/item/" + var.id;

    strRss.Append("<item>");

    strRss.Append("<title>" + Function.ReplaceXml(var.Title) + "</title>");

    strRss.Append("<author>" + nickname + "</author>");

    strRss.Append("<description><![CDATA[" + content + "<p><a href='" + link + "'>查看全文</a>" + "]]></description>");

    strRss.Append("<pubDate>" + var.Adddate.ToString() + "</pubDate>");

    strRss.Append("<link>" + link + "/</link>");

    strRss.Append("</item>");

    }

    return strRss.ToString();

    }

    XML中的特殊字符的过滤(否则生成的XML文件会出错):

    public static string ReplaceXml(string msg)

    {

    if (msg != "" && msg != null)

    {

    msg = msg.Replace("&", "%26");

    msg = msg.Replace(">", "&gt;");

    msg = msg.Replace("<", "&lt;");

    msg = msg.Replace("\"", "&quot;");

    msg = msg.Replace("'", "&apos;");

    }

    return msg;

    }

    另外要注意的是,如果你的RSS输出的链接中又中文字符的话,

    如: cnblogs.com/你好/rss.aspx,

    最好能使用Server.UrlEncode("你好"),编码之后才能使用抓虾等订阅

    http://www.cnblogs.com/lbk/archive/2006/11/14/560202.html

    Ҷƪл˵?
  • һƪasp.net实现C#代码加亮显示_ASP.NET技巧
    һƪasp.net 2.0中动态修改页面标题_ASP.NET技巧