Return to Snippet

Revision: 36768
at November 26, 2010 06:27 by manuletroll


Initial Code
package net.manuletroll.utils
{
	import flash.events.Event ;
	import flash.events.EventDispatcher ;
	import flash.events.IOErrorEvent ;
	import flash.net.URLLoader ;
	import flash.net.URLRequest ;
	
	/**
	 * Classe permettant de récupérer le contenu d'un fichier XML.
	 * 
	 * Exemple d'utilisation :
	 * 
	 * 	var xmlFile:XML ;
	 * 	var xmlMan:XMLManager = new XMLManager("exemple.xml") ;
	 * 	xmlMan.addEventListener("XML_LOADED", xmlLoaded) ;
	 * 
	 * 	function xmlLoaded(e:Event):void
	 * 	{
	 * 		xmlMan.removeEventListener("XML_LOADED", xmlLoaded) ;
	 * 		xmlFiler = xmlMan.getContent() ;
	 * 	}
	 * 
	 * @author manuletroll
	 */
	public class XMLManager extends EventDispatcher
	{
		/**
		 * Chemin vers le fichier XML
		 */
		private var xmlPath:String ;
		
		/**
		 * Requête permettant le chargement du XML
		 */
		private var xmlRequest:URLRequest ;
		
		/**
		 * Objet chargeant le fichier XML
		 */
		private var xmlLoader:URLLoader ;
		
		/**
		 * Contenu du fichier XML
		 */
		private var xmlContent:XML ;
		
		private var config:Object ;
		
		/**
		 * Le constructeur effectue la requête et le chargement du XML.
		 * 
		 * @param	path Chemin vers le fichier XML.
		 */
		public function XMLManager(path:String)
		{
			xmlPath = path ;
			xmlRequest = new URLRequest(xmlPath) ;
			xmlLoader = new URLLoader() ;
			xmlLoader.load(xmlRequest) ;
			xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, errorManagement) ;
			xmlLoader.addEventListener(Event.COMPLETE, fetch) ;
		}
		
		/**
		 * Cette méthode assigne le contenu dans un object XML.
		 */
		private function fetch(e:Event):void
		{
			xmlContent = new XML(e.target.data) ;
			this.dispatchEvent(new Event("XML_LOADED")) ;
		}
		
		/**
		 * Méthode permettant de récupérer contenu XML chargé.
		 * 
		 * @return xmlContent : Objet XML renvoyé
		 */
		public function getContent():XML
		{
			return xmlContent ;
		}
		
		/**
		 * Méthode gérant les erreurs d'entrée/sortie (fichier non trouvé, etc).
		 * @param	ioe Evénement IOErrorEvent.
		 */
		protected function errorManagement(ioe:IOErrorEvent):void
		{
			trace('Chargement du fichier XML impossible : fichier non trouvé.');
		}
	}
}

Initial URL


Initial Description


Initial Title
XML manager class

Initial Tags


Initial Language
ActionScript 3