登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

璀璨星空&旖旎花園gegei.com

★╰→流星劃過夜空,不僅是為了帶來祝福,同時也是為了追求幸福!

 
 
 

日志

 
 

asp + access生成标准的rss技术详解  

2007-09-13 17:04:28|  分类: 程序编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

今天要为新网站写一个动态生成rss的叶面,其实我不是很专业,只是“君子善假于物也”,在网上搜罗了一些资料,慢慢的思路清晰了,然后就写了出来

弊端:由于引用的这个别人的函数没有定义fso的编码形式,所以只支持gb2312输出,如果以utf-8输出可以参考这

大概过程

1.熟悉rss规范以及格式

这个简单如果不好找规范的话,可以打开别人的rss.xml聚合源来看看就知道了

2.了解生成过程

建立一个asp(createrss.asp)--> 处理读取数据(sql/access等)-->写入rss.xml--Success!

3.编制

这里面试用了别人编写的一个创建并写入文件的函数

write2file.asp

以下是代码片段:

<%

’ wite2file.asp

’ 写入文件

Sub Write2File(strFile, strContent, blnAppend)

’ strFile 文件名(路径) , strContent 写入的内容, blnAppend 是否追加

        On Error Resume Next

        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

        If blnAppend Then

                Set objWriteText = objFSO.OpenTextFile(strFile,8,True)

        Else

                Set objWriteText = objFSO.OpenTextFile(strFile,2,True)

        End If

        objWriteText.WriteLine (strContent)

        Set objWriteText = Nothing

        Set objFSO = Nothing

        ’ 容错处理

        Select Case Err

                Case 424 Response.Write "路径未找到或者该目录没有写入权限."

                Case Else Response.Write Err.Description

                ’Case Else Response.Write ErrMsg

        End Select

End Sub 

’调用

’Write2File "c:\dd.ini", "dd", True

’Call Write2File ("c:\dd.ini", "dd", True)

’可以创建文件,但是不能创建目录

%>

createrss.asp

以下是代码片段:

’createrss.asp

<!--#include file="write2file.asp"-->

dim myrss,enter

enter=false’用来判断myrss是否获得有效数据

’定义rss.xml头

myrss="<?xml version=""1.0"" encoding=""gb2312"" standalone=""yes""?><rss version=""2.0"" xmlns:dc=""http://purl.org/dc/elements/1.1/"" xmlns:trackback=""http://madskills.com/public/xml/rss/module/trackback/"" xmlns:wfw=""http://wellformedweb.org/CommentAPI/""><channel><title>webtitle</title><link>sitehost</link><description>webdescription</description><generator>generator</generator><language>zh-CN</language><copyright>9xiao.cn</copyright><pubDate>pubDate</pubDate>"

’读取数据<item><...>

’事先定义好数据库连接conn

set rs=server.CreateObject("adodb.recordset")

    sql="select  * from table"

  rs.open sql, conn, 1, 1

  if not rs.eof then

   enter=true’有内容可以插入rss

   do while not rs.eof

    myrss=myrss & "<item><title>" & rs("title") & "</title><author>" & rs("author") & "</author><link>" & rs("link") & "</link><pubDate>" & rs("pubdate") & "</pubDate><guid>" & rs("link") & "</guid><description><![CDATA[" & rs("yourcontent") & "]]></description><category>" & rs("category") & "</category></item>"

   rs.movenext

   loop

  end if

  rs.close

set rs=nothing 

’rss结束

’rs("*****")中的内容请换为自己的字段

’结束rss.xml

myrss=myrss & "</channel></rss>"

’写入rss

if enter=true then

Write2File server.MapPath("rss.xml"), myrss, false’不要追加,每次更新

end if

%>

写完,收工!

 

喷鹤网 www.penhe.com

  评论这张
 
阅读(252)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018