Atom til RSS med ASP

Det er nu lykkedes mig at få transformeret Atom feed’et fra Blogger om til RSS 2.0 med ASP.

Resultatet er dog ikke optimalt, da jeg har været nødt til at indsætte en CDATA sektion i <description> tagget i XML’en. Denne CDATA sektion gør, at indholdet i tagget ikke læses af browseren som XML. Dvs. at al HTML formattering desværre går tabt. Det kunne nok laves bedre ved at kombinere med XSLT, men så langt er jeg ikke lige nået endnu. Indtil videre fungerer skidtet i hvert fald i Mozilla Thunderbird.

Resultatet kommer herunder. Jeg er ikke nogen kodehaj, så det er sikkert et grimt stykke kode. Men hvis du har forslag til forbedringer, hører jeg meget gerne fra dig.

Du er velkommen til at copy/paste koden til din egen ASP fil, hvis du synes, du kan bruge det. (Til andre nybegyndere: Husk lige at fjerne tallene i starten af hver linie. De er der bare for at nummerere linierne…)

Andre muligheder for transformering til RSS
Har du ikke mod på at gå i gang med sådan en ASP fil, kan du nemt få transformeret dit Atom feed til RSS med Feedburner.com.


01. <% @Language="VBScript" %>
02. <% Response.ContentType = "text/xml" %><?xml version="1.0" encoding="ISO-8859-1"?>
03. <%
04. Dim xml
05. Set xml = Server.CreateObject("Microsoft.XMLDOM")
06. xml.async = False
07. xml.load (Server.MapPath("atom.xml"))
08.
09. Dim attrFeedLanguage, nodFeedTitle, nodTagline, attrLinkAlt, nodGenerator
10. Dim nodEntries, tmpEntry
11.
12. attrFeedLanguage = xml.documentElement.getAttribute("xml:lang")
13. nodFeedTitle = xml.documentElement.childNodes(2).text
14. nodTagline = xml.documentElement.childNodes(3).text
15. attrLinkAlt = xml.documentElement.childNodes(4).getAttribute("href")
16. nodGenerator = xml.documentElement.childNodes(7).text
17. %>
18.
19. <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
20. <channel>
21. <title><% = nodFeedTitle %></title>
22. <link><% = attrLinkAlt %></link>
23. <description><% = nodTagline %></description>
24. <language><% = attrFeedLanguage %></language>
25. <generator><% = nodGenerator %></generator>
26. <%
27.
28. Set nodEntries = xml.getElementsByTagName("entry")
29. For Each tmpEntry in nodEntries
30. %>
31.
32. <item>
33. <title><%
34. Response.Write(tmpEntry.childnodes(7).text)
35. %></title>
36. <link><%
37. Response.Write(tmpEntry.childnodes(5).getAttribute("href"))
38. %></link>
39. <description><![CDATA[<%
40. Response.Write(tmpEntry.childnodes(8).text)
41. %>]]></description>
42. <author><%
43. Response.Write(tmpEntry.childnodes(1).text)
44. %></author>
45. </item>
46.
47. <%
48. Next
49. Set xml = Nothing
50. %>
51.
52. </channel>
53. </rss>

Portræt af Morten Bech

Morten Bech

Frontend udvikler og designer med hang til bibliotekarisk orden. Klatmaler med trang til kunstnerisk kaos. Mere om mig.

Lyt videre

Relaterede indlæg

🕺 Anserinus tendinit

Anserinus tendinit er en senebetændelse, man kan få i knæet. Især, hvis man er sidst i 40’erne og forsøger at straffe et dansegulv. Det lærte jeg i fredags, da det stak helt af på en bytur med en flok fædre fra sønnikes…

📼 Videofilm – en anekdote fra 90’erne

Engang var Blockbuster en fysisk butik, hvor man kunne leje video på bånd. Når man blev oprettet som kunde, fik man et plastickort, som man skulle fremvise sammen med et mundtligt kodeord, der skulle fremsiges, når man…

Første indlæg via Mastodon

Hej Verden! Her er en test. Første pip fra min WordPress blog #bechsterdk

Simple Analytics