Posted By

manuletroll on 11/26/10


Tagged


Versions (?)

Who likes this?

3 people have marked this snippet as a favorite

sylvafilms
tspitzr
dubogii


XML manager class


 / Published in: ActionScript 3
 

  1. package net.manuletroll.utils
  2. {
  3. import flash.events.Event ;
  4. import flash.events.EventDispatcher ;
  5. import flash.events.IOErrorEvent ;
  6. import flash.net.URLLoader ;
  7. import flash.net.URLRequest ;
  8.  
  9. /**
  10. * Classe permettant de récupérer le contenu d'un fichier XML.
  11. *
  12. * Exemple d'utilisation :
  13. *
  14. * var xmlFile:XML ;
  15. * var xmlMan:XMLManager = new XMLManager("exemple.xml") ;
  16. * xmlMan.addEventListener("XML_LOADED", xmlLoaded) ;
  17. *
  18. * function xmlLoaded(e:Event):void
  19. * {
  20. * xmlMan.removeEventListener("XML_LOADED", xmlLoaded) ;
  21. * xmlFiler = xmlMan.getContent() ;
  22. * }
  23. *
  24. * @author manuletroll
  25. */
  26. public class XMLManager extends EventDispatcher
  27. {
  28. /**
  29. * Chemin vers le fichier XML
  30. */
  31. private var xmlPath:String ;
  32.  
  33. /**
  34. * Requête permettant le chargement du XML
  35. */
  36. private var xmlRequest:URLRequest ;
  37.  
  38. /**
  39. * Objet chargeant le fichier XML
  40. */
  41. private var xmlLoader:URLLoader ;
  42.  
  43. /**
  44. * Contenu du fichier XML
  45. */
  46. private var xmlContent:XML ;
  47.  
  48. private var config:Object ;
  49.  
  50. /**
  51. * Le constructeur effectue la requête et le chargement du XML.
  52. *
  53. * @param path Chemin vers le fichier XML.
  54. */
  55. public function XMLManager(path:String)
  56. {
  57. xmlPath = path ;
  58. xmlRequest = new URLRequest(xmlPath) ;
  59. xmlLoader = new URLLoader() ;
  60. xmlLoader.load(xmlRequest) ;
  61. xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, errorManagement) ;
  62. xmlLoader.addEventListener(Event.COMPLETE, fetch) ;
  63. }
  64.  
  65. /**
  66. * Cette méthode assigne le contenu dans un object XML.
  67. */
  68. private function fetch(e:Event):void
  69. {
  70. xmlContent = new XML(e.target.data) ;
  71. this.dispatchEvent(new Event("XML_LOADED")) ;
  72. }
  73.  
  74. /**
  75. * Méthode permettant de récupérer contenu XML chargé.
  76. *
  77. * @return xmlContent : Objet XML renvoyé
  78. */
  79. public function getContent():XML
  80. {
  81. return xmlContent ;
  82. }
  83.  
  84. /**
  85. * Méthode gérant les erreurs d'entrée/sortie (fichier non trouvé, etc).
  86. * @param ioe Evénement IOErrorEvent.
  87. */
  88. protected function errorManagement(ioe:IOErrorEvent):void
  89. {
  90. trace('Chargement du fichier XML impossible : fichier non trouvé.');
  91. }
  92. }
  93. }

Report this snippet  

You need to login to post a comment.