Ever since CNet changed the BOL feed, my Nokia N95's podcast app would not handled it correctly. The episodes were in the wrong order and worst of all the newest one would not automatically download. I was manually having to remember to download it every day.
I traced the problem to bad whitespace characters in the pubDate and the lenght of the podcast was set to -1. All I basically did was write an ASP page that grabs the feed and, using RegExs, removed the whitespace and added a dummy length value. The page then spits out the filtered RSS data.
I posted my issue in the CNet forums but no one else apparently uses the N95 podcast app or doesn't use it to autodownload. I don't know why. It's so cool! I basically always have my latest podcasts right on my phone.
If anyone's interested, here's the code for the ASP page:
<%
url = “http://feeds.feedburner.com/cnet/buzzoutloud?format=xml”
set xmlhttp = Server.CreateObject(“Msxml2.ServerXMLHTTP”)
if err.number 0 then set xmlhttp = Server.CreateObject(“Microsoft.XMLHTTP”)
xmlhttp.open “GET”, url, false
xmlhttp.setRequestHeader “Pragma”,”no-cache”
xmlhttp.setRequestHeader “Cache-Control”,”no-cache”
xmlhttp.Send
if xmlhttp.status 200 then
Response.write “
Problem getting feed
“
Response.write “HTTP Error: ” & xmlhttp.status & ” – ” & xmlhttp.statusText
end if
set objXML = Server.CreateObject(“Microsoft.XMLDOM”)
Set objRegExp = New Regexp
strOutput = xmlhttp.responseText
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = “length=” & chr(34) & “-1” & chr(34)
strOutput = objRegExp.Replace(strOutput, “length=” & chr(34) & “18000000” & chr(34))
objRegExp.Pattern = “\s*”
strOutput = objRegExp.Replace(strOutput, “”)
objRegExp.Pattern = “s*”
strOutput = objRegExp.Replace(strOutput, “”)
Set objRegExp = Nothing
Response.write strOutput
%>