2010-04-14 3 views
1

J'ai fait face à ce problème il y a quelques jours, en essayant d'importer un fichier xml externe dans une application AIR.comment charger le xml externe en utilisant l'application d'air pour le programmeur instantané?

import flash.net.URLRequest; 
var ldr:Loader = new Loader(); 
var url:String = "http://willperone.net/rss.php"; 
var urlReq:URLRequest = new URLRequest(url); 
ldr.load(urlReq); 
ldr.addEventListener(Event.COMPLETE , function(e) { 
    trace('Wow, completed ...'); 
}); 
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function(e) { 
    trace('IO_ERROR'); 
}); 

et toujours l'IO_ERROR apparaît. Puis-je me tromper ou quelque chose a besoin d'un peu de configuration, alors s'il vous plaît aider

+0

Rien d'évident ne me saute aux yeux. Pouvez-vous essayer de tracer le message d'erreur lui-même et publier ce qu'il dit? trace ('IO_Error:' + e); –

+0

merci, le message d'erreur qui apparaît IO_ERROR [IOErrorEvent type = "ioError" bulles = false cancelable = faux événementPhase = 2 text = "Erreur # 2035: URL introuvable URL: http://willperone.net /rss.php "errorID = 2035] note que j'ai essayé de changer l'URL et en utilisant URLLoader et la même erreur apparaît encore – Ayman

Répondre

0

Merci les gars, je l'ai trouvé où le problème est: je ne précisaient pas le type de contenu reçu, il résolu quand je

request.contentType = "text/xml"; 

donc le code ressemblera à ceci:

function getData(onComplete) { 
    var request:URLRequest = new URLRequest("http://..."); 
    request.contentType = "text/xml"; 
    request.data = ""; 
    request.method = URLRequestMethod.POST; 
    var loader:URLLoader = new URLLoader(); 
    loader.addEventListener(Event.COMPLETE ,function(e) { xmlParser(e); onComplete(e); }); 
    try 
    { 
     mainData.splice(0,mainData.length); 
     loader.load(request); 
     return true; 
    } 
    catch (e){ 
     return false; 
    } 
} 


function xmlParser(e) { 
    var xml:XML = new XML(URLLoader(e.target).data); 
    } 
} 
2

Le IOErrorEvent vous indique qu'il ne peut pas charger la ressource que vous essayez de charger. Y a-t-il quelque chose en réalité au http://willperone.net/rss.php. Peut-être une erreur d'analyse XML ou PHP? Je viens également de remarquer que vous utilisez Loader pour essayer de charger du texte. La classe que vous souhaitez utiliser pour charger XML (ou texte, json, binaire, etc.) est URLLoader. Loader est une sous-classe de DisplayObject principalement pour le chargement de swfs, d'images et de ressources visuelles dans la liste d'affichage. C'est le coupable probable.

+0

merci, en fait j'ai essayé d'utiliser l'URLLoader avec l'URL différente et la même erreur apparaît toujours et voici quelques détails IO_ERROR [IOErrorEvent type = "ioError" bubbles = faux cancelable = faux événementPhase = 2 text = "Erreur # 2035: URL introuvable URL: http://willperone.net/rss.php" errorID = 2035] s'il vous plaît noter que je teste le code par la créatinine g un nouveau projet AIR utilisant flash cs4, je ne sais pas pourquoi il apparaît ... – Ayman

+0

Si vous pouvez accéder à l'URL de votre navigateur, alors je pense que c'est peut-être une sorte d'en-tête php(). Vérifiez que votre ressource est XML valide pour commencer. – typeoneerror

Questions connexes