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());
}
