We can load xml file into swf at run-time by using following class.
SOURCE CODE
USAGE
XML (sample)
SOURCE CODE
package
{
import flash.display.Sprite;
import flash.events.*;
import flash.net.*;
/**
* @file CLoader.as
* @author Abhishek Kumar
*/
public class CLoader extends Sprite
{
private var oDispatcher:CDispatcher;
public function CLoader()
{
oDispatcher = CDispatcher.getInstance();
}
public function retrieve(iXml:String):void
{
var loader:URLLoader = new URLLoader();
configureListeners(loader);
var request:URLRequest = new URLRequest(iXml);
try
{
loader.load(request);
}
catch (error:Error)
{
trace("Loading failed!");
}
}
private function configureListeners(dispatcher:IEventDispatcher):void
{
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void
{
trace("CLoader -> completeHandler: " + event);
var loader:URLLoader = URLLoader(event.target);
var Xml:XML = new XML(loader.data);
oDispatcher.dispatch(CDispatcher.ACTION, Xml);
}
private function openHandler(event:Event):void
{
trace("CLoader -> openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void
{
trace("CLoader -> progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void
{
trace("CLoader -> securityErrorHandler: " + event);
}
private function httpStatusHandler(event:HTTPStatusEvent):void
{
trace("CLoader -> httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void
{
trace("CLoader -> ioErrorHandler: " + event);
}
}
}
USAGE
import CLoader;
var oLoader:CLoader = new CLoader();
oLoader.retrieve ('Database.xml');
XML (sample)
<?xml version="1.0" encoding="utf-8" ?>
<data>
<item index="1" image_path="img_1.jpg" thumbnail_path="thumb_1.jpg" />
<item index="2" image_path="img_2.jpg" thumbnail_path="thumb_2.jpg" />
<item index="3" image_path="img_3.jpg" thumbnail_path="thumb_3.jpg" />
<item index="4" image_path="img_4.jpg" thumbnail_path="thumb_4.jpg" />
<item index="5" image_path="img_5.jpg" thumbnail_path="thumb_5.jpg" />
<item index="6" image_path="img_6.jpg" thumbnail_path="thumb_6.jpg" />
<item index="7" image_path="img_7.jpg" thumbnail_path="thumb_7.jpg" />
<item index="8" image_path="img_8.jpg" thumbnail_path="thumb_8.jpg" />
<item index="9" image_path="img_9.jpg" thumbnail_path="thumb_9.jpg" />
</data>
Comments
Post a Comment