Comunidad de diseño web y desarrollo en internet online

XMLConnector y DataSet ¿?

Citar            
MensajeEscrito el 31 Ago 2005 03:53 pm
Hola.

Estaba intentando cargar un DataSet a partir de un archivo XML por medio de un XMLConnector.

El problema es que no consigo pasar los datos del XMLConnector al DataSet. El principal problema es que no entiendo muy bien el DataSet.schema ni que metodo del DataSet tendia que utilizar.

En cuanto al DataSet.schema:

Código :

//Esto lo permite fijo.
<properties>
     <property name="propertyName">
          <type name="propertyType"/>
     </property>
</properties>

//Pero permitiria esto.
<properties>
     <property name="propertyName">
          <type name="propertyType"/>
     </property>
</properties>
<properties>
     <property name="propertyName">
          <type name="propertyType"/>
     </property>
</properties>


En cuanto al metodo del DataSet:

Código :

//He probado.
DataSet.dataProvider = XMLConnector.results;
DataSet.addItem(XMLConnector.results);
DataSet.addItem(DataSet.createItem(XMLConnector.results));
/*
Con el primero DataSet.length retorna 0.
Con los dos ultiimos DataSet.length retorna 1.
Pero con todos DataSet.first() retorna undefined.


Os dejo el codigo:

Código :

//xml un XMLConnector y este metodo es el de XMLConnector.result.
private function eventoResult(evento:Object):Void {
      var esquema:String = "";
      
      for(var xmlNodo:XMLNode = xml.results.firstChild.firstChild; xmlNodo; xmlNodo = xmlNodo.nextSibling) {
         esquema += "<properties>";
         for(var xmlSubNodo:XMLNode = xmlNodo.firstChild; xmlSubNodo; xmlSubNodo = xmlSubNodo.nextSibling)
            for(var auxiliar:String in xmlSubNodo.attributes) {
               esquema += "<property name=\"" + auxiliar + "\">";
               esquema += "<type name=\"" + "String" + "\"/>";
               esquema += "</property>";
         }
         esquema += "</properties>";
      }
      datos.schema = new XML(esquema);
      //datos.dataProvider = xml.results;
      //datos.addItem(xml.results);
      datos.addItem(datos.createItem(xml.results));
      trace(datos.first());
   }

Por opotonil

12 de clabLevel



 

msie
Citar            
MensajeEscrito el 31 Ago 2005 04:36 pm
Podria funcionar algo como esto:

Código :

enlace[0] = new EndPoint();
enlace[0].component = xml;
enlace[0].property = "results";
enlace[0].event = "result";

enlace[1] = new EndPoint();
enlace[1].component = datos;
enlace[1].property = "dataProvider";

new Binding(enlace[0], enlace[1]);

Sacado (aunque no entendido) de: http://chattyfig.figleaf.com/pipermail/flashcoders/2004-February/103231.html

Como podria ver los valores del DataSet en el debug (a ver si realmente se cargan o no porque petar no peta) sin escribir mas codigo.

Gracias y salu2.

Por opotonil

12 de clabLevel



 

msie

 

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