Purple Pages Headline Viewer Service Notice - We are making some changes, please help us by reporting bugs!
  Home - Main Menu arrow right  
 In This Section arrow down
 purple bulletInternet Content
    blue bulletContent Directory
       grey bulletAdd a Link
    blue bulletArticles & Tutorials
    blue bulletRSS FAQ




content news
Free newsletter!

Subscribe
UnSubscribe



Generating RSS with ASP

Article Index | Print | E-Mail
Friday May 18, 2001

RSS files can be generated using Active Server Pages (ASP). It is OK for an RSS file to have a .asp suffix. In this example an RSS 0.91 file is generated, but it could easily be applied to other RSS versions. Similarly in this case the site stores its articles in a Microsoft Access database, but the database connection could be changed to reflect a Microsoft SQL Server database.

You can follow the example below or if you prefer you can download it in a text file here. You may get an XML error when you try and open the text file, just view source to get the code.

<%
' Write out the XML Version Identifier, Document Type
' Identifier, RSS Version Identifier and Start Channel Data
' tag.
%>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-
0.91.dtd">
<rss version="0.91">
   <channel>

<%
' Write out the Channel Title tag, Channel Title Link (URL)
' tag, Channel Description tag, Channel Language tag, Start
' Image Data tag, Image ALT Text tag, Image Location (URL) tag,
' Image Link (URL) tag and End Image Data tag.
' Change the information within these tags to suit your
' website.

%>
      <title>Purple Pages - Content Channel</title>
      <link>
http://www.purplepages.ie/site/content/</link>
      <description>
Internet Content and Syndication Resources,
      Directories, Articles, Tutorials &amp;
      News.
</description>
      <language>
en-gb</language>

   <image>
      <title>
Purple Pages</title>
      <url>
http://www.purplepages.ie/mini_logo.gif</url>
      <link>
http://www.purplepages.ie/site/content/</link>
   </image>

<%
' We are now ready to connect to the database and retrieve the
' last 6 articles published. Although in this example we are
' going to have just six items, RSS 0.91 allows up to 15.

' Setup and open a connection to the database.
' You wll need to modify the database connection to
' reflect your database.

   strConnect = "DRIVER={Microsoft Access Driver
   (*.mdb)};DBQ=e:\yourDBpathGoesHere.mdb"

   Set objConn = strConnect
   Set objConn = Server.CreateObject ("ADODB.Connection")

' Setup a RecordSet to store the results from our SQL Query.
   Set artRec = Server.CreateObject("ADODB.Recordset")

' Execute some SQL against the Database and store the results
' in artRec.
' In this example the articles we want are stored in a table
' called "dbtable".
' We have a field called "category" and we only want articles
' where category=9.
' "auto" is an autonumber field used to generate unique ids for
' each article.
' Ordering by auto in descending order, will retrieve the
' articles in order of the latest published date.
' You will need to modify this statement to reflect your
' database's structure.


   set artRec = objConn.execute("SELECT * FROM dbtable
   where category = 9 order by auto desc;"
)

' Set a variable to 0, which will be used to count how many
' times we loop through the recordset.

   x=0

' Loop through the recordset to retrieve our rows of data.
   while not artRec.eof

' In this example we only want the last 6 articles.
' Starting at 0 when x reaches 6 it will exit the loop.
   if x<6 then

' The next 5 lines simply write out the remaining chunks of XML
' to complete the RSS file.
' "intro" is the name of the database field that contains the
' introduction
' "title" is the name of the database field that contains the
' title of the article.
' "auto" is the name of the database field that contains the
' auto no. of the article.
' You will need to modify this statement to reflect your
' database's structure.
' Remember if your query string contains "&" it must be written
' as "&amp;".

   response.write "<item>"
   response.write "<title>"& artRec("title") &"</title>"
   response.write "<link>http://www.purplepages.ie/article.asp?
   auto="
& artRec("auto") &"</link>"
   response.write "<description>"& artRec("intro") 
   &"</description>"
   response.write "</item>"

   end if

' Increment the counter by 1 eachtime the loop goes round
   x=x+1

' Loop
   artRec.movenext
   wend

' Close the database connections and set the recordset equal to
' nothing

   set artRec = nothing
   objConn.close
   set objConn = nothing
' Write out the End Channel Data tag and End RSS tag.
%>
   </channel>
</rss>


Author: Author Info: © 2001 Alis Marsden, alis@purplepages.ie.
 
  Copyright © 2000 - 2001 Purple Pages.  All Rights Reserved.  Legal, Privacy & Accessibility Statements.  Site Search & Site Map.