jvankuijk
11-13-2008, 02:00 PM
Hey all,
I've been searching a while now how to fix my problem. I have an xml file returned from a php file with data populated from my MySQL database. I approach this data via the HttpService function in Flex. The xml output looks like this:
<?xml version="1.0"?>
<klanten>
<klant>
<naam>Semmie van Kuijk</naam>
<firmanaam>Retje inc</firmanaam>
</klant>
<klant>
<naam>Martine Gilson</naam>
<firmanaam>Rouann nv</firmanaam>
</klant>
<klant>
<naam>Jordy van Kuijk</naam>
<firmanaam>Jack the Rippers Web</firmanaam>
</klant>
<klant>
<naam>Maria Theunissen</naam>
<firmanaam>Future-World</firmanaam>
</klant>
<klant>
<naam>Haarie Don Aldena</naam>
<firmanaam>Don Vincendon Lenon</firmanaam>
</klant>
<klant>
<naam>Jif Kinky</naam>
<firmanaam>Jif kink products</firmanaam>
</klant>
<klant>
<naam>Don Kentucky</naam>
<firmanaam>Kip Inc</firmanaam>
</klant>
<klant>
<naam>Bla bla</naam>
<firmanaam>Jewels inc</firmanaam>
</klant>
</klanten>
Ok so that should be fine.
Now in my Flex project I have 2 AS classes, called Klant (customer) and Klanten (customers). I'll post the code of both classes here:
KLANT:
package{
public class Klant{
private var naam:String;
private var firmanaam:String;
public function Klant(name:String,compname:String){
naam = name;
firmanaam = compname;
}
public function toString():String{
var result:String = "" + naam + "\n";
result = result + "" + firmanaam;
return result;
}
public function equals(that:Klant):Boolean{
return (this.naam == that.naam);
}
}
}
KLANTEN:
package{
public class Klanten{
private var klanten:Array = new Array();
public function voegToe(klantIn:Klant):void{
var contains:Boolean = false;
for (var i:int =0; i < klanten.length; i++){
var temp:Klant = klanten[i];
if(temp.equals(klantIn)){
contains = true;
}
}
if(contains == false){
klanten.push(klantIn);
}
}
public function geef(nummer:int):Klant{
return klanten[nummer];
}
}
}
My purpose is to put the dat in the Xml file (Klant1,Klant2,Klant3,...) into a KlantenArray. I really have no idea how to do this, I tried the following:
[Bindable] private var Lijst:XMLListCollection;
private function showKlanten():void{
getKlanten.send();
var klantenlijst:Klanten = new Klanten();
var testArray:Array = new Array();
var xList:XMLList = new XMLList(getKlanten.lastResult as XML);
Lijst = new XMLListCollection(xList.children());
for each (var sData:String in xList.child('')){
testArray.voegToe(sData);
}
And here's my HTTPService:
<mx:HTTPService id="getKlanten" resultFormat="e4x" showBusyCursor="true" url="http://www.studex.be/Flex/ManagerPHP/getKlanten.php" useProxy="false" method="POST">
<mx:request xmlns="">
</mx:request>
</mx:HTTPService>
Any help is greatly appreciated!
Thanks in advance,
Jordy van Kuijk
I've been searching a while now how to fix my problem. I have an xml file returned from a php file with data populated from my MySQL database. I approach this data via the HttpService function in Flex. The xml output looks like this:
<?xml version="1.0"?>
<klanten>
<klant>
<naam>Semmie van Kuijk</naam>
<firmanaam>Retje inc</firmanaam>
</klant>
<klant>
<naam>Martine Gilson</naam>
<firmanaam>Rouann nv</firmanaam>
</klant>
<klant>
<naam>Jordy van Kuijk</naam>
<firmanaam>Jack the Rippers Web</firmanaam>
</klant>
<klant>
<naam>Maria Theunissen</naam>
<firmanaam>Future-World</firmanaam>
</klant>
<klant>
<naam>Haarie Don Aldena</naam>
<firmanaam>Don Vincendon Lenon</firmanaam>
</klant>
<klant>
<naam>Jif Kinky</naam>
<firmanaam>Jif kink products</firmanaam>
</klant>
<klant>
<naam>Don Kentucky</naam>
<firmanaam>Kip Inc</firmanaam>
</klant>
<klant>
<naam>Bla bla</naam>
<firmanaam>Jewels inc</firmanaam>
</klant>
</klanten>
Ok so that should be fine.
Now in my Flex project I have 2 AS classes, called Klant (customer) and Klanten (customers). I'll post the code of both classes here:
KLANT:
package{
public class Klant{
private var naam:String;
private var firmanaam:String;
public function Klant(name:String,compname:String){
naam = name;
firmanaam = compname;
}
public function toString():String{
var result:String = "" + naam + "\n";
result = result + "" + firmanaam;
return result;
}
public function equals(that:Klant):Boolean{
return (this.naam == that.naam);
}
}
}
KLANTEN:
package{
public class Klanten{
private var klanten:Array = new Array();
public function voegToe(klantIn:Klant):void{
var contains:Boolean = false;
for (var i:int =0; i < klanten.length; i++){
var temp:Klant = klanten[i];
if(temp.equals(klantIn)){
contains = true;
}
}
if(contains == false){
klanten.push(klantIn);
}
}
public function geef(nummer:int):Klant{
return klanten[nummer];
}
}
}
My purpose is to put the dat in the Xml file (Klant1,Klant2,Klant3,...) into a KlantenArray. I really have no idea how to do this, I tried the following:
[Bindable] private var Lijst:XMLListCollection;
private function showKlanten():void{
getKlanten.send();
var klantenlijst:Klanten = new Klanten();
var testArray:Array = new Array();
var xList:XMLList = new XMLList(getKlanten.lastResult as XML);
Lijst = new XMLListCollection(xList.children());
for each (var sData:String in xList.child('')){
testArray.voegToe(sData);
}
And here's my HTTPService:
<mx:HTTPService id="getKlanten" resultFormat="e4x" showBusyCursor="true" url="http://www.studex.be/Flex/ManagerPHP/getKlanten.php" useProxy="false" method="POST">
<mx:request xmlns="">
</mx:request>
</mx:HTTPService>
Any help is greatly appreciated!
Thanks in advance,
Jordy van Kuijk