Comunidad de diseño web y desarrollo en internet online

problema con XML y actionscript

Citar            
MensajeEscrito el 13 Mar 2006 01:38 am
Hola desde ache algunas semanas estoy creando un sitio en flash para un amigo en colombia,
mi problma es que en su sitio hay mucho texto , y pues yo creo que es mas conveniente utilisar un archivo externo para cargar el texto dinamicamente, pues si me pongo a meter todo el texto en flash voy a perder mucho tiempo;

Veamos yo decidi crear un archivo xml :
<?xml version="2.0" encoding="iso-8859-1"?>
<servicios>
<item titleID="0" numerodelineas="0">
<linea>el texto de esta linea></linea>
</item>
<item titleID="1" numerodelineas="6">
<linea>el texto de esta linea></linea>
</item>
<item titleID="2" numerodelineas="4">
<linea>el texto de esta linea></linea>
</item>
</servicios>


osea que para cada tag puedo saber cuuantas lineas hay y cada tag tiene un identificador;

despues en actions script me cree una classe que recibe como parametro un objeto XML
y lo convierte en un ARRAY

el codigo es el siguiente :


Código :

dynamic class componentes.helpers.solintecXml.XmlObj {
   private var objectgeneral:Array;
   private var xmlData:XML;
   // Constructor
   public function XmlObj(_xmlData:XML) {
      objectgeneral = new Array();
      xmlData = _xmlData;
      ceateDataObject(xmlData);
   }
   //agregar una linea al objeto objectgeneral
   public function addTag(_t:Array) {
      objectgeneral.push(_t);
      trace("addtag\n");
      trace("/////////////////////");
      trace(_t.lineas);
      trace("/////////////////////");
   }
   //retorna una linea segun el tag ID
   public function getTag(_tid:Number):Array {
      var tempreturn:Array;
      for (var i = 0; i<objectgeneral.length; i++) {
         trace(objectgeneral[i].titleID);
         if (objectgeneral[i].titleID == _tid) {
            tempreturn = objectgeneral[i];
            trace(_tid+" ; le tag demande est le numero : "+i);
            trace("on renvoie "+objectgeneral[i].numerodelineas+" lineas");
            trace("la primera linea da commo resultad :\n"+objectgeneral[i].lineas[0]);
         }
      }
      return tempreturn;
   }
   //creacion del objecto general
   function ceateDataObject(_xml:XML) {
      var numberOfTags = _xml.firstChild.childNodes.length+1;
      trace("creation de l'object xml avec "+numberOfTags+" balises item");
      trace(_xml.firstChild.attributes.titleID);
      for (var i = 0; i<=numberOfTags; i++) {
         var tempTagsLineas = _xml.firstChild.childNodes[i].nextSibling.childNodes.length;
         var templineasArray:Array = new Array();
         for (var j = 0; j<tempTagsLineas; j++) {
            templineasArray[j] = _xml.firstChild.childNodes[i].nextSibling.childNodes[j].attributes.texto;
         }
         var tmpArray = {titleID:_xml.firstChild.childNodes[i].attributes.titleID, numerodelineas:_xml.firstChild.childNodes[i].attributes.numerodelineas, lineas:templineasArray};
         addTag(tmpArray);
      }
   }
}


a ver hay mas ; despues he creado un datagrid,de una sola linea;
para entrar los datos a este datadrid lo hago de esta manera :

Código :

miDatagrid.setData(elObjectoXml.getTag(n*).lineas);


*n el identificante del tag ;


mi problema es que en la classe XmlObj el primer tag y el ultimo tag de mi archivo XML no son tomados en cuenta;

por ejemplo si quiero utilisar el tag que tiene el ID=1 o 2 o 3 no hay problema ;
pero si quiero utilisar el tag que tiene ID= 0
m es imposible de obtener los datos correspondientes, a igual que cuando quiero utilisar el ultimo tag del archivo xml;

si alguien puede ayudarme le sere muy agradicido

Por geronimo

65 de clabLevel



Genero:Masculino  

mozilla
Citar            
MensajeEscrito el 13 Mar 2006 04:07 pm
Prueba poniendo con el dichoso ignoreWhite. Eso siempre da problemas...

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 13 Mar 2006 04:32 pm
gracias , ya encontre el problema y pude solucionarlo

Por geronimo

65 de clabLevel



Genero:Masculino  

mozilla

 

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