ActionScript 3 XML管理器类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActionScript 3 XML管理器类相关的知识,希望对你有一定的参考价值。

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é.');
		}
	}
}

以上是关于ActionScript 3 XML管理器类的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 声音管理器类

ActionScript 3 使用文件参考API的AS3文件参考管理器类

ActionScript 3 ActionScript 3中的XML循环

Actionscript 3 - 如何从 XMLList 转换为 XML?

如何在 Actionscript 3 中将数据写入 XML 文件

ActionScript 3中的XML循环