Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New Coder
    Join Date
    Jul 2009
    Chicago, IL
    Thanked 0 Times in 0 Posts

    Format pubDate when displaying RSS feed

    Hi all, I am trying to display an RSS feed on my ASP website. Currently, the date is displayed as "Dec 07 2011." I would like to display it as "December 7, 2011." Here is the code I've put together so far:

    	<title>RSS Feed Using ASP Classic - For Texas Longhorns Football Schedule from TicketCity.com</title>
    		td{vertical-align:top;padding:5px 5px 5px 5px;}
    	' change the RSSURL variable to the exact URL of the RSS Feed you want to pull
    	RSSURL = "http://blog.sp.com/feed/?alt=rss"
    	Dim objHTTP ' this object is used to call the RSS Feed remotely
    	Dim RSSURL,RSSFeed ' these variables hold the URL and Content for the RSS Feed
    	Dim xmlRSSFeed ' this variable hold the XML data in a DOM Object
    	Dim objItems,objItem, objChild ' these variables are used to temporarily hold data from the various RSS Items
    	Dim title,pubdate,description,link '  these are local variables that will hold the data to be displayed
    	Dim OutputHTML_1,OutputHTML_2,OutputHTML_3 ' these variables will hold the HTML that was converted from the RSS Feed
    	' this code requests the raw RSS/XML and saves the response as a string <RSSFeed>
    	Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")
    	objHTTP.open "GET",RSSURL,false
    	RSSFeed = objHTTP.responseText
    	' this code takes the raw RSSFeed and loads it into an XML Object
    	Set xmlRSSFeed = Server.CreateObject("MSXML2.DomDocument.4.0")
    	xmlRSSFeed.async = false
    	' this code disposes of the object we called the feed with
    	Set objHTTP = Nothing
    	' this is where you determine how to display the content from the RSS Feed
    	' this code grabs all the "items" in the RSS Feed
    	Set objItems = xmlRSSFeed.getElementsByTagName("item")
    	' this code disposes of the XML object that contained the entire feed
    	Set xmlRSSFeed = Nothing
    	' loop over all the items in the RSS Feed
    	For x = 0 to objItems.length - 8
    		' this code places the content from the various RSS nodes into local variables
    		Set objItem = objItems.item(x)
    		For Each objChild in objItem.childNodes
    			Select Case LCase(objChild.nodeName)
    				Case "pubdate"
    					  pubDate = objChild.text
    				Case "title"
    					  title = objChild.text
    				Case "link"
    					  link = objChild.text
    				Case "description"
    					  description = objChild.text
    			End Select
    		ArrayTemp = split(pubDate, " ")
    		pubDate2 = ArrayTemp(2) & " " & ArrayTemp(1) & " " & Cint(ArrayTemp(3))
    		' Here are some various display samples.
    		OutputHTML_1 = OutputHTML_1 & pubDate2 & "<br /><a href=""" & link & """>" & title & "</a><br /><br />"
    		OutputHTML_2 = OutputHTML_2 & "<a href=""" & link & """>" & title & "</a><br />"
    		OutputHTML_3 = OutputHTML_3 & "<a href=""" & link & """>" & title & "</a><hr />"
    <!-- This is the HTML Layout that will render content from the RSS Feed -->
    Here is the output, with content provided by the RSS Feed located at:<br /><%=RSSURL%><hr />
    <table border="1">
    		<td>Ouput Style 1</td>
    		<td>Ouput Style 2</td>
    		<td>Ouput Style 3</td>
    I've been looking for a script online as I'm not skilled enough to create code of my own. Can anyone give me some advice?

  2. #2
    Supreme Master coder! Old Pedant's Avatar
    Join Date
    Feb 2009
    Thanked 4,947 Times in 4,908 Posts
    So what does the "raw" pub date look like???

    From your code, I would assume it looks something like this:
    Wednesday 07 Dec 2011 and maybe a time here

    If so, you could do this:
    		temp = Split(pubDate, " ") 
                    ' note the comma between (1) and (3) !!
    		pubDate2 = ArrayTemp(2) & " " & ArrayTemp(1) & "," & Cint(ArrayTemp(3))
                    ' then add this:
                    dt = CDate(pubDate2) ' converts it to a VBScript date object
                    pubDate2 = Monthname(Month(dt)) & " " & Day(dt) & "," & Year(dt)
    Be yourself. No one else is as qualified.


Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts