# ASP-code voor het lezen van RSS-feeds...met bijbehorende XSLT...

<datetime class="hidden">2004-05-11T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, ASP.NET, XML -->
Hoewel ik dit zou posten...in principe zal het een RSS (of andere enige XML) feed van een externe bron nemen en transformeren met behulp van een gespecificeerd XSLT script (probeer deze voor een basis RSS transformator... [rssTransform.xslt](/uploads/rssTransform.xslt))
Gebruik is vrij eenvoudig...Bijvoorbeeld:

Response.Write(getXML("http://weblogs.asp.net/mainfeed.aspx","../xslt/rssTransform.xslt"120)

zal de ASP.NET weblogs hoofdfeed ontleden... met een 120 seconden cache tijd

```

Function getXML(sourceFile,xsltFile,cacheTime) 
'On Error Resume Next
if((DateDiff("s",Application.Value(sourceFile + "_Expr"),Now())>cacheTime) Or len(Application.Value(sourceFile))=0) then
dim styleFile 
dim source, style 
styleFile = Server.MapPath(xsltFile)

Dim xmlhttp
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
xmlhttp.Open "GET", sourceFile, false
xmlhttp.Send

set source = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
source.async = false 
source.loadxml(xmlhttp.ResponseText) 
set style = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
style.async = false 
style.load(styleFile) 
outputHtml = source.transformNode(style) 
if(err.number = 0) then
Application.Lock
Application(sourceFile) = outputHtml
Application.Value(sourceFile + "_Expr") = now()
Application.UnLock
getXML = outputHtml
else
getXML = Application.Value(sourceFile)
end if

set source = nothing 
set style = nothing 
else
getXML = Application.Value(sourceFile)
end if
On Error Goto 0
End Function 
```