Flash CS3 and XML - Loading XML in Flash





View PersonalDetails.xml

loadxml.as

package {
import flash.display.*;
import flash.net.*;
import flash.events.*;
import fl.controls.DataGrid;
import fl.containers.UILoader;
import flash.text.*;
public class loadxml extends Sprite {
var xmlFile:String="PersonalDetails.xml";
var datagrid=new DataGrid;
var imgLoader=new UILoader;
var nameTxt=new TextField;
var occupationTxt=new TextField;
var ageTxt=new TextField;
var emailTxt=new TextField;
public function loadxml():void {
callBtn.addEventListener(MouseEvent.CLICK,callServer);
}
function callServer(e:MouseEvent):void {
var urlRequest:URLRequest=new URLRequest(xmlFile);
var loader:URLLoader=new URLLoader;
loader.addEventListener(Event.COMPLETE,xmlLoaded);
loader.load(urlRequest);
}
function xmlLoaded(e:Event):void {
var loader:URLLoader=URLLoader(e.target);
var xml:XML=new XML(loader.data);
createDataGrid();
createTextFields();
createImageLoader();
// loop through the details and insert each one into the DataGrid
for each (var item:XML in xml..person) {
var strName:String=item.name.toString();
var strOccupation:String=item.occupation.toString();
var strAge:String=item.age.toString();
var strEmail:String=item.email.toString();
var strImage:String = item.image.toString();
datagrid.addItem({Name:strName,Occupation:strOccupation,Age:strAge,Email:strEmail,Image:strImage});
}
}
private function createDataGrid():void {

datagrid.move(10,40);
datagrid.width=500;
datagrid.rowCount=7;
datagrid.columns=["Name","Occupation","Age","Email"];
datagrid.addEventListener(Event.CHANGE,gridItemSelected);
datagrid.minColumnWidth=datagrid.width / 3;
addChild(datagrid);
}
private function createTextFields():void {
nameTxt.x=10;
ageTxt.x=10;
occupationTxt.x=10;
emailTxt.x=10;
nameTxt.autoSize=TextFieldAutoSize.LEFT;
ageTxt.autoSize=TextFieldAutoSize.LEFT;
occupationTxt.autoSize=TextFieldAutoSize.LEFT;
emailTxt.autoSize=TextFieldAutoSize.LEFT;

nameTxt.y=datagrid.height + 50;
ageTxt.y=nameTxt.y + 25;
occupationTxt.y=ageTxt.y + 25;
emailTxt.y=occupationTxt.y + 25;


addChild(nameTxt);
addChild(ageTxt);
addChild(occupationTxt);
addChild(emailTxt);
}
private function gridItemSelected(e:Event):void {

nameTxt.text="Name: " + e.target.selectedItem.Name;
ageTxt.text="Age: " + e.target.selectedItem.Age ;
occupationTxt.text="Occupation: " + e.target.selectedItem.Occupation;
emailTxt.text="Email: " + e.target.selectedItem.Email;

imgLoader.source="images/"+e.target.selectedItem.Image;

}
private function createImageLoader():void {

imgLoader.move(10,40);
imgLoader.y=nameTxt.y;
imgLoader.x=200;
imgLoader.width=95;
imgLoader.height=100;
addChild(imgLoader);
}
}//class loadxml ends
}//package ends

Source File - Loading_XML.zip

Comments

Popular posts from this blog

AS3 - Access objects from external SWF files

Flash CS3 - XML Guestbook (AS3)

Flash CS4 - 3D Rotating Menu