Comunidad de diseño web y desarrollo en internet online

cargar un xml

Citar            
MensajeEscrito el 15 Ene 2010 03:09 pm
Hola!
Estoy intentando cargar un xml en FlexBuilder, pero no consigo hacerlo.
El archivo xml contiene lo siguiente:

Código XML :

<?xml version="1.0" ?> 
<Edificio>
   <PlantasSobreRas>2</PlantasSobreRas> 
   <PlantasBajoRas>1</PlantasBajoRas>
   <Planta Id="-1">
      <Altura_Planta>2.9</Altura_Planta> 
      <Altura_Planta_Libre>2.6</Altura_Planta_Libre>    
      <Espesor_Forjado_pl>0.3</Espesor_Forjado_pl> 
      <Espesor_Forjado_pl1>0.25</Espesor_Forjado_pl1> 
      <Pl>3</Pl> 
      <Vivienda Id="1">
         <Area>1909.21</Area> 
         <Perimetro>345.53</Perimetro> 
         <Pt>1</Pt> 
         <Pl>3</Pl> 
         <Letra>GA</Letra> 
         <Tipo_vivienda>GARAJE</Tipo_vivienda>
      </Vivienda>
   </Planta>
</Edificio>

Y el código que estoy utilizando para leerlo es el siguiente:

Código ActionScript :

   public class XmlReader
   {
      private var xmlUrl:String = "xml/Edificio1.xml";
      private var loader:URLLoader;
      
      private var edificio:XML = new XML();
      
      
      public function XmlReader()
      {
         this.loadXML();

      }
      
      public function loadXML():void {
         loader = new URLLoader(new URLRequest(xmlUrl));
         loader.dataFormat = URLLoaderDataFormat.TEXT;      
         loader.addEventListener(Event.COMPLETE, onComplete);
      }
      private function onComplete(e:Event):void {
         
              this.edificio = new XML(e.target.data);
              trace(edificio.toXMLString());
          
        }
        
        public function getXML():XML
        {
           return this.edificio;
        }


   }

La URL la tengo bien, ya que si pongo otro nombre que no sea el del XML da error. El problema es que cuando intento ver lo que ha leido no aparece nada:

Código ActionScript :

      var t:Text = new Text;
      t.text = "XML leido \n"+xml.toString();
         
      canvasText.addChild(t);
    

Además a veces el firefox se queda bloqueado cuando intenta leerlo.
Alguna idea de por qué puede suceder esto??

Gracias de antemano

Por irati86

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ene 2010 08:22 pm
Mira primero el XML en el navegador para ver que no tenga errores de estructura

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Ene 2010 08:23 pm
tal vez no sabe cuando estar cargado el archivo XML , para detectar eso debes de dispatchar un evento personalizado o bien otra ves disparas la constante COMPLETE de la clase Event , seguido de eso puedes usar tu metodo getXML, por ejemplo

Código ActionScript :

private function onComplete(evt:Event):void
      {
         edificio= new XML(evt.target.data);
         trace(edificio);
         dispatchEvent(new Event(Event.COMPLETE));
      }


escuchas el evento desde fuera de la clase

Código ActionScript :

private var _loader:XMLRender = new XMLReender();
_loader.addEventListener(Event.COMPLETE, onComplete);

function onComplete(evt:Event):void
{
   trace(_loader.getXML());
}


el codigo lo hice directo aqui en el foro, puede tener algun error, pero esa es la idea.

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 15 Ene 2010 08:24 pm
perdon Jorge , no hice update al navegador .. U_U

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 18 Ene 2010 07:34 am
Muchas gracias a los dos!

Jonathan el problema era justo ese, que intentaba gestionar los datos antes que que los terminara de leer. No se me habia ocurrido :P
Muchas gracias!


irati.

Por irati86

5 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.