iteam5 home page

  informazioneconoscenzapassioneesperienza
home | progettazione | helpdesk | ricerca | sviluppo | education | finanziamenti | blog | info

atom2rss.asp (atom to rss)
As you know, many sites offer Atom feeds instead of RSS (most noticeable Blogger.com); because several site or software are focused on RSS technology (directory, readers, articles), you can add only RSS resources.
Converting Atom XML feed to RSS feed is a new asp script that i offer, for free.

Author: Francesco Passantino

[Valid RSS]

Download

<%
' atom2rss.asp
' Author: Francesco Passantino
' Email: francesco@iteam5.net
' Blog: www.iteam5.net/blog
' Start date: 17 Sep 2004


Sub atom2rss(URL)
Set objXML = Server.CreateObject("msxml2.DOMDocument.3.0")
objXML.async = false
objXML.setProperty "ServerHTTPRequest", True
objXML.validateOnParse = true
objXML.preserveWhiteSpace = false

If Not objXML.Load(URL) Then

Response.write "<P>ERROR<br>code: " & _
objXML.parseError.errorCode & _
"<br>Linea/Col: " & _
objXML.parseError.line & "/" & _
objXML.parseError.linepos & "</P>"

Else

rsstitle="iteam5.net/blog"
rssdescription="Blog sulle novità del settore Information & Communication Technologies"
rsslink="http://www.iteam5.net/blog"
rsslanguage="it"

xml= "<?xml version=""1.0"" encoding=""UTF-8""?><rss version=""0.91""><channel>"
xml= xml&"<title>"&server.htmlencode(rsstitle)&"</title>"
xml= xml&"<description>"&server.htmlencode(rssdescription)&"</description>"
xml= xml&"<link>"&server.htmlencode(rsslink)&"</link>"
xml= xml&"<language>"&server.htmlencode(rsslanguage)&"</language>"

Set objNodeList = objXML.getElementsByTagName("entry")
For Each objNode In objNodeList
	For Each objNode2 In objNode.childNodes

	Select Case objNode2.nodeName
	Case "issued"
	strdate= left(objNode2.firstChild.nodevalue,10)
	Case "link"
	strURL = objNode2.GetAttribute("href")
	Case "title"
	strTitle = objNode2.firstChild.nodevalue

	'istead of Case "content"
	Case "summary"

	strDescription = objNode2.firstChild.data
	For Each objNode3 In objNode2.childNodes
		Select Case objNode3.nodeName
		Case "div"
			StrDescription = objNode3.text
			For Each objNode4 In objNode3.childNodes
			Select Case objNode4.nodeName
				Case "a"
				linkable=objNode4.firstChild.text
				htmlink=" <a href='"& _
				objNode4.GetAttribute("href")&"'>"& _
				linkable&"</a>"
				StrDescription = replace(StrDescription,linkable,htmlink)
			end select
			next
		end select
	next
	End Select
Next

xml= xml & "<item>"
xml=xml & "<title><![CDATA[" & server.htmlencode(strTitle) & "]]></title>"
xml=xml & "<description><![CDATA[" & server.htmlencode(strDescription) & "]]></description>"
xml=xml & "<link><![CDATA[" & server.htmlencode(strURL) & "]]></link></item>"

strTitle = ""
strURL = ""
strDescription = ""

Next

xml = xml & "</channel></rss>"
response.ContentType = "text/xml"
response.write xml

set objNodeList = Nothing

End if
End sub

call atom2rss("http://www.iteam5.net/blog/feed.xml")

%>

 

See also:

Server object error 'ASP 0228 : 80004005'

Server.Execute Error

/francesco/atom/atom2rss.asp, line 135

The call to Server.Execute failed while loading the page.