找回密码

碧海潮声大学生网

查看: 1002|回复: 0
打印 上一主题 下一主题

〖原创〗建立RSS2.0的ASP函数

[复制链接]
跳转到指定楼层
1#
发表于 2005-11-18 22:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前几天为一家单位修改网站,就赠送RSS生成接口,下面把函数在这里公布一下。
RSS用ASP包装不是很好,如果用.NET就很完美了,我写过这样程序,认为生成比较容易,如果要读取,并且要兼容几种版本就要下些功夫了。比如天极网用的是连.net都不支持的“GBK”编码,读取时有些问题,这不是俺的错,谁让它做不标准的格式了。
废话少说,下面就是代码:

inc/rss.asp:

<%
RSS_ChannelTitle = "东海龙宫"
RSS_ChannelLink = "http://www.hellosea.com"
RSS_ChannelDescription = "海洋龙文化"
RSS_ChannelLanguage = "zh-cn"
RSS_ChannelPubDate = "2004-12-20T10:00:00"

ReDim RSS_Item(0, 4)

RSSItemNum = 0

function RedimRssItem( itemNum )
     Redim RSS_Item(itemNum - 1, 4)
     RSSItemNum = itemNum
end function

function BuildRssFile( strFileName )
     Set objXMLdoc = CreateObject("Microsoft.XMLDOM")
     objXMLdoc.preserveWhiteSpace = True

     &#39; 建立版本号和encoding属性
     Set objPI = objXMLdoc.createProcessingInstruction ("xml","version=&#39;1.0&#39; encoding=&#39;gb2312&#39;")
     objXMLdoc.insertBefore objPI, objXMLdoc.childNodes(0)

     Set objXMLroot = objXMLdoc.createNode("element", "rss", "")
     objXMLroot.SetAttribute "version", "2.0"
     objXMLdoc.AppendChild(objXMLroot)

     &#39; 建立channel节点
     set objXMLchannel = objXMLdoc.createNode("element", "channel", "")
     objXMLroot.AppendChild(objXMLchannel)

     &#39;----------------建立channel中的项------------------
     set objXMLTitle = objXMLdoc.createNode("element", "title", "")
     objXMLTitle.Text = RSS_ChannelTitle
     objXMLchannel.AppendChild(objXMLTitle)

     set objXMLink = objXMLdoc.createNode("element", "link", "")
     objXMLink.Text = RSS_ChannelLink
     objXMLchannel.AppendChild(objXMLink)

     set objXMLDescription = objXMLdoc.createNode("element", "description", "")
     objXMLDescription.Text = RSS_ChannelDescription
     objXMLchannel.AppendChild(objXMLDescription)

     set objXMLanguage = objXMLdoc.createNode("element", "language", "")
     objXMLanguage.Text = RSS_ChannelLanguage
     objXMLchannel.AppendChild(objXMLanguage)

     set objXMLPubDate = objXMLdoc.createNode("element", "pubDate", "")
     objXMLPubDate.Text = RSS_ChannelPubDate
     objXMLchannel.AppendChild(objXMLPubDate)

     for i = 0 to RSSItemNum - 1
          set objXMLItem = objXMLdoc.createNode("element", "item", "")
          objXMLchannel.AppendChild(objXMLItem)
     
          set objXMLTitle = objXMLdoc.createNode("element", "title", "")
          objXMLTitle.Text = RSS_Item(i, 0)
          objXMLItem.AppendChild(objXMLTitle)
     
          set objXMLink = objXMLdoc.createNode("element", "link", "")
          objXMLink.Text = RSS_Item(i, 1)
          objXMLItem.AppendChild(objXMLink)
     
          set objXMLDescription = objXMLdoc.createNode("element", "description", "")
          objXMLDescription.Text = RSS_Item(i, 2)
          objXMLItem.AppendChild(objXMLDescription)
     
          set objXMLAuthor = objXMLdoc.createNode("element", "author", "")
          objXMLAuthor.Text = RSS_Item(i, 3)
          objXMLItem.AppendChild(objXMLAuthor)
     
          set objXMLPubDate = objXMLdoc.createNode("element", "pubDate", "")
          objXMLPubDate.Text = RSS_Item(i, 4)
          objXMLItem.AppendChild(objXMLPubDate)
     next

     objXMLDoc.Save Server.MapPath(strFileName)

end function
%>


下面是过程的用法:

<!--#include file="inc/rss.asp"-->

<%
RSS_ChannelTitle = "新闻动态"
RSS_ChannelLink = "http://www.hellosea.com/article/news/index.aspx"
RSS_ChannelDescription = "国际、国内新闻"
RSS_ChannelLanguage = "zh-cn"
RSS_ChannelPubDate = "2004-12-20T15:58:30"

RedimRssItem(2)

RSS_Item(0, 0) = "浙江外逃女贪官杨秀珠贪污案涉案金额超过两亿"
RSS_Item(0, 1) = "http://www.hellosea.com/article/news/view.aspx?ArticleID=25"
RSS_Item(0, 2) = "温州市纪委七日在温州市政协八届九次常委会上通报了杨秀珠案件的查处情况。杨秀珠于去年四月份携女儿、女婿及外孙出逃境外,至今未曾归案。"
RSS_Item(0, 3) = "中国新闻网"
RSS_Item(0, 4) = "2004-12-08T01:11:40"

RSS_Item(1, 0) = "讨薪农妇熊德明为民工维权续:相信总理会支持"
RSS_Item(1, 1) = "http://www.hellosea.com/article/news/view.aspx?ArticleID=20"
RSS_Item(1, 2) = "讨薪农妇熊德明为民工维权续:相信总理会支持"
RSS_Item(1, 3) = "publisher"
RSS_Item(1, 4) = "2004-12-08T01:11:40"

BuildRssFile( "001.xml" )
%>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋| 碧海潮声大学生网  

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.2( 浙ICP备11026473号 )

快速回复 返回顶部 返回列表