Quick and Dirty RSS Reader
OK, So I have been reading about a lot of RSS Aggregators and I thought why not give it a try myself . So here is a very quick and dirty RSS reader (Can't call it aggregator though). Nothing special here, just some basic System.Net and XML classes and XSL transformation (I used eXcelon Stylus Studio to generate XSL). Here's the ASPX code:
<%@ Page language="VB" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Xml" %>
<script runat="server">
Sub Page_Load (sender As Object, e As EventArgs)
retrieveXML.Document = retrieveRSS()
End Sub
Function retrieveRSS()
Dim request as WebRequest = request.create("http://dotnetweblogs.com/dsharma/Rss.aspx")
'Get the Web Response Object from the request
Dim response as WebResponse = request.GetResponse()
'Get the Stream Object from the response
Dim responseStream as Stream = response.GetResponseStream()
Dim reader as XmlTextReader = new XmlTextReader(responseStream)
Dim xml_doc as XmlDocument = new XmlDocument()
'Load the RSS document
xml_doc.Load(reader)
retrieveRSS = xml_doc
End Function
</script>
<html>
<title>RSS Reader</title>
<body>
<asp:Xml id="retrieveXML" TransformSource="new.xsl" runat="server" />
</body>
</html>
Here's the XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="*">
<table cellSpacing="0" width="100%" border="1" cellPadding="5">
<tr>
<td bgColor="#6495ed" width="100%">
<a><xsl:attribute name="href">
<xsl:value-of select="channel/link"/>
</xsl:attribute>
<strong>
<font face="Trebuchet MS" color="#ffffff">
<xsl:value-of select="channel/title"/>
</font>
</strong>
</a>
<br/>
<strong>
<font face="Trebuchet MS" color="#ffffff">
<xsl:value-of select="channel/description"/>
</font>
</strong>
</td>
</tr>
<tr>
<td width="100%">
<xsl:for-each select="channel/item">
<font face="Trebuchet MS">
<font size="2">
<b><xsl:value-of select="title"/></b><xsl:text disable-output-escaping="yes"> (Posted on: </xsl:text><xsl:value-of select="pubDate"/> <xsl:text>)</xsl:text>
<br/>
<br/>
<xsl:value-of select="description" disable-output-escaping="yes"/>
<br/>
<br/>
</font>
</font>
</xsl:for-each>
</td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
Above code colorization provided courtesy of Mark it Up.