PDA

Volledige versie bekijken : is het mogelijk om de URLstring uit een URLLoader - URLRequest object te halen?


droopy4u
%Europe/Berlin %764 %2010, 19:20
Heeft iemand een idee hoe de string van een link, in dit geval naar een file, kan opgevraagd worden van uit het object?
Of een link naar meer informatie, elke nuttige bron van informatie is welkom.

Alvast bedankt bij voorbaat.


package as3_directory
{
import flash.display.Sprite;
import flash.events.*; // addEventListener - IEventDispatcher
import flash.net.*; // URLRequest - URLLoader



public class XMLLoaderExample extends Sprite
{

/*
DEEL 1
*/
trace("class XMLLoaderExample3 - deel 1");


public function XMLLoaderExample():void {
var myXML:XML = new XML();
var XML_URL:String = "./xml/xml_file.xml";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
configureListeners(myLoader);
}

/*
METHODS
*/
// eventlisteners
public function configureListeners(dispatcher:IEventDispatcher):vo id
{
trace("# configureListeners # : object via Object() : "+Object(dispatcher).toString + " - object : "+(dispatcher));
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
//andere event handlers
}


private function completeHandler(event:Event):void
{
trace("# completeHandler #");

/***************************************
loader via het event.target terug de URLLoader achterhalen,
om zo dan de data te kunnen extracten
**************************************/

var loader:URLLoader = new URLLoader();
loader = event.target as URLLoader;
trace(" achterhalen van de file-name : " + (loader)); // var XML_URL:String = "./xml/xml_file.xml";

trace("A• xmlloaded");
var employees:XML = XML(loader.data);
if (employees != null)
{
trace("B• xmlloaded: Data loaded.");
// tonen welke file/urlstring -> var XML_URL:String = "./xml/xml_file.xml";
}
else
{
trace("loader is not a Loader!");
// tonen welke file/urlstring -> var XML_URL:String = "./xml/xml_file.xml";
}
}
Nogmaals alvast bedankt bij voorbaat.


De "completeHandler" wordt aangesproken via de functie "configureListeners"; die volgens een event in dit geval COMPLETE wordt aangesproken.

Op dit moment wordt via 'trace' medegedeeld of de file (xml file) al dan niet geladen is.

IN completeHandler
trace(" achterhalen van de file-name : " + (loader)); // var XML_URL:String = "./xml/xml_file.xml";
Daarom is het misschien handig om mede te delen om welke file en eventueel in welke directory deze zich bevindt, meegegeven wordt -> de XML_URL.


Met vriendelijke groeten,

Een beginner

Jan
%Europe/Berlin %917 %2010, 23:01
public class XMLLoaderExample extends Sprite
{

var XML_URL:String = "./xml/xml_file.xml";
public function XMLLoaderExample():void
{
var myXML:XML = new XML();
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
configureListeners(myLoader);
}
private function completeHandler(event:Event):void
{
trace(XML_URL);
}
}

Jan

Nreal
%Europe/Berlin %513 %2010, 13:18
Het is mogelijk om aan je contentLoaderInfo je url op te vragen. Doormiddel van:

event.target.url zou je het volledige path terug moeten krijgen.

Jan
%Europe/Berlin %515 %2010, 13:22
Het is mogelijk om aan je contentLoaderInfo je url op te vragen. Doormiddel van:
Het gaat hier om een URLLoader en niet om een Loader.
Dus geen contentLoaderInfo...

Jan

droopy4u
%Europe/Berlin %407 %2010, 10:46
Bedankt voor jullie bijdrage en informatie.

Sorry voor mijn laattijdige reactie, was eventjes op Paasvakantie met de kids.

Voor het gemak heb ik in bijlage de files toegevoegd, hopende zo alle onduidelijkheden uit de wereld te kunnen helpen van mijn probleemstelling, vraag.

Mijn uiteindelijke bedoeling is om verschillende xml-files te kunnen oproepen, vertrekkende vanuit een configuratie file, waarin alle informatie om de andere informatie te kunnen onttrekken.
Daarom dacht ik te werken met een class, en zou ik graag de informatie die voor een ... monkey proof ... omgeving te maken.

Het probleem is het is allemaal duidelijk als je er aan bezig bent ... maar als er uiteindelijk ... een probleem na een periode dat je er niet meer bezig mee bent geweest is het soms des te moeilijker.


// ReferenceError: Error #1069: Kan eigenschap url niet vinden bij flash.net.URLLoader en er is geen standaardwaarde.
trace(" - event.target.url : "+event.target.url);
//1120: Access of undefined property XML_URL.
trace ("XML_URL : "+XML_URL);

Misschien is er een andere mogelijkheid ... om de XML_URL op een of andere manier te extracten


Op dit moment is op REGEL 76 de oproep van de functie xml_data_extractor(XMLobjects); in comment gezet. Het oproepen voor het verwerken van de data (dit moet later ook een class worden daar die voor elke xml file, anders moet worden benaderd).


xml_data_extractor(XMLobjects);

Hopende hierbij mijn probleemstelling te hebben toegelicht.

Alvast bedankt bij voorbaat.