Il y a deux méthodes pour lire un fichier xml en local, synchrone (open()) et asynchrone (openAsync()).
open()
La méthode synchrone met en pause le reste des applications le temps du chargement du fichier, si votre application contient plusieurs animations, cela peut troubler la fluidité de des mouvements.
Avantages: Rapide, pas besoin de gérer les Events.
Inconvénients:Peut ralentir les animations
openAsync()
La méthode asynchrone quand à elle met la priorité aux autres tâches mais demande une gestion des Events (fin de chargement...)
Avantages:Peut être ralenti en fonction des applications actives, laisse les animations fluides.
Inconvénients:Demande une gestion des Events.
Méthode 1:
var fichier:File = File.applicationDirectory.resolvePath("fichier.xml");
if(fichier.exists)
{
var fileStream:FileStream = new FileStream();
fileStream.open(fichier, FileMode.READ);
var xmlString:String = fileStream.readUTFBytes(fileStream. bytesAvailable);
fileStream.close();
xml = new XML(xmlString);
}
Méthode 2:
var fl:File = File.applicationDirectory.resolvePath("fichier.xml");
var fs:FileStream = new FileStream();
fs.addEventListener(Event.COMPLETE, finProcess);
fs.openAsync(fl, FileMode.READ);
var xml:XML;
function finProcess(e:Event):void
{
xml = XML(fs.readUTFBytes(fs.bytesAvailable));
fs.close();
}