Loading XML
Publicado por Julio Lucio (1 intervención) el 16/01/2007 13:31:29
Hola
Estoy haciendo una clase que carga un XML y luego quiero extraer alguna informacion del Arbol XML.
El as de la clase es de la siguiente forma.
//classEstadistica
class Estadistica{
//privatemembers
private var _empresas :Array = null;
private var _xml :XML = null;
private var _loaded :Boolean = false;
//getter
public function get empresas():Array{
return _empresas;
}
public function get loaded():Boolean{
return _loaded;
}
//setter
public function set empresas( empresas:Array ):Void{
_empresas = empresas;
}
public function set loaded( loaded:Boolean ):Void{
_loaded = loaded;
}
//Private methods
private function loadXML( xml_file_name:String ):Void{
_xml.load( xml_file_name );
var t:Number = 0;
}
private function loadEmpresas():Void{
var empresaNodes:Array = _xml.childNodes;
for( var e = 0 ; e < empresaNodes.length ; e ++ ){
trace( empresaNodes[ e ].firstChild.toString() );
}
}
//constructor
function Estadistica( xml_file_name:String ){
_xml = new XML();
_xml.onLoad = function(bSuccess:Boolean):Void {
if (bSuccess){
//trace(this.toString());
trace("Loaded XML:" + xml_file_name );
this._loaded = true;
}
else{
trace("XML failed to load or parse");
this._loaded = false;
}
}
//loading xml
loadXML( xml_file_name );
}
public function loadData():Void{
loadEmpresas();
}
Despues tengo un fla donde solo instacio un objeto de la clase , llamo al constructor, donde se carga el XML, y despues quiero llamar un metodo de la clase para hacer algo
Lo hago asi:
var estadistica = new Estadistica("C://Documents and Settings//julio-lucio//Escritorio//ALUPAN//Estadistica//Estadistica.xml");
estadistica.loadData();
Lo que me poasa es que no acaba de cargar el xml.
es decir , el flag _loaded nunca se pone a true , solo despues de haberse llamado la ultima linea de codigo del main....
Alguien sabe como solucionar esto?
Estoy haciendo una clase que carga un XML y luego quiero extraer alguna informacion del Arbol XML.
El as de la clase es de la siguiente forma.
//classEstadistica
class Estadistica{
//privatemembers
private var _empresas :Array = null;
private var _xml :XML = null;
private var _loaded :Boolean = false;
//getter
public function get empresas():Array{
return _empresas;
}
public function get loaded():Boolean{
return _loaded;
}
//setter
public function set empresas( empresas:Array ):Void{
_empresas = empresas;
}
public function set loaded( loaded:Boolean ):Void{
_loaded = loaded;
}
//Private methods
private function loadXML( xml_file_name:String ):Void{
_xml.load( xml_file_name );
var t:Number = 0;
}
private function loadEmpresas():Void{
var empresaNodes:Array = _xml.childNodes;
for( var e = 0 ; e < empresaNodes.length ; e ++ ){
trace( empresaNodes[ e ].firstChild.toString() );
}
}
//constructor
function Estadistica( xml_file_name:String ){
_xml = new XML();
_xml.onLoad = function(bSuccess:Boolean):Void {
if (bSuccess){
//trace(this.toString());
trace("Loaded XML:" + xml_file_name );
this._loaded = true;
}
else{
trace("XML failed to load or parse");
this._loaded = false;
}
}
//loading xml
loadXML( xml_file_name );
}
public function loadData():Void{
loadEmpresas();
}
Despues tengo un fla donde solo instacio un objeto de la clase , llamo al constructor, donde se carga el XML, y despues quiero llamar un metodo de la clase para hacer algo
Lo hago asi:
var estadistica = new Estadistica("C://Documents and Settings//julio-lucio//Escritorio//ALUPAN//Estadistica//Estadistica.xml");
estadistica.loadData();
Lo que me poasa es que no acaba de cargar el xml.
es decir , el flag _loaded nunca se pone a true , solo despues de haberse llamado la ultima linea de codigo del main....
Alguien sabe como solucionar esto?
Valora esta pregunta


0