How to write an RSS reader in AJAX

IBM Developers work has a tutorial on how to build an RSS reader using AJAX. The amount of code you need to write is scary (and this is not the complete code). Adobe Flex 2 plus a simple Java programming to support DB interaction allows you to achive the same functionality using A LOT LESS coding.Just take a look at this screen:

The Flex 2 code below populates the bottom portion of the screen with financial news based on the selected stock on top ( (it does not work with a DB to store the RSS source so it’d add some 50 lines of Java code ). The data come from the Yahoo! Finance RSS feed. The URL looks as follows:

The suffix can be MSFT or whatever is selected on top is being passed to the code below.

Flex lt;mx:HTTPService gt; object is used through a proxy deployed under Tomcat or any other servlet container.

The entire application code and its description can be found in this article.

lt;?xml version= “1.0 ” encoding= “utf-8 “? gt;

lt;mx:Panel xmlns:mx= “

title= “News ” width= “100% ” height= “100% ” gt;

lt;mx:DataGrid id= “newsGrid ” width= “100% ” height= “100% ”

dataProvider= “{} ” variableRowHeight= “true ” gt;

lt;mx:columns gt;

lt;mx:DataGridColumn headerText= “Date ” dataField= “pubDate ” width= “200 “/ gt;

lt;mx:DataGridColumn headerText= “Title ” dataField= “title ” wordWrap= “true ” / gt;

lt;mx:DataGridColumn headerText= “Description ” dataField= “description ” wordWrap= “true ” / gt;

lt;mx:DataGridColumn headerText= “Link ” width= “130 ” gt;

lt;mx:itemRenderer gt;

lt;mx:Component gt;

lt;mx:LinkButton label= “{} ” click= “navigateToURL(new URLRequest(, ‘_blank’) “/ gt;

lt;/mx:Component gt;

lt;/mx:itemRenderer gt;

lt;/mx:DataGridColumn gt;

lt;/mx:columns gt;

lt;/mx:DataGrid gt;

lt;mx:HTTPService id= “newsFeed ” useProxy= “true ”

destination= “YahooFinancialNews ” concurrency= “last ”

resultFormat= “e4x ” fault= “onFault(event) ” gt;

lt;/mx:HTTPService gt;

lt;mx:Script gt;


import mx.utils.ObjectProxy;


public function set security(value:String):void {

this.title = “News: ” + value;



private function onFault(event:FaultEvent):void {


“Destination: ” + event.currentTarget.destination + “\n ” +

“Fault code: ” + event.fault.faultCode + “\n ” +

“Detail: ” + event.fault.faultDetail, “News feed failure ”



]] gt;

lt;/mx:Script gt;

lt;/mx:Panel gt;

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s