Te pongo un ejemplo por si te sirve:
Primero la clase
UserVO:
Código ActionScript :
package com.davidlopezgamero.cristalab.vo
{
public class UserVO
{
private var _id:uint;
private var _name:String;
private var _lastname:String;
public function UserVO()
{
}
public function get lastname():String
{
return _lastname;
}
public function set lastname(v:String):void
{
_lastname = v;
}
public function get name():String
{
return _name;
}
public function set name(v:String):void
{
_name = v;
}
public function get id():uint
{
return _id;
}
public function set id(v:uint):void
{
_id = v;
}
}
}
Después la clase que asocia cada dato obtenido del XML con el UserVO:
Código ActionScript :
package com.davidlopezgamero.cristalab
{
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
import com.davidlopezgamero.cristalab.vo.UserVO;
public class ResultadoXML
{
private var _data:HTTPService = new HTTPService ();
public var _allUsers:ArrayCollection = new ArrayCollection();
public function ResultadoXML()
{
_data.url = "URL_DEL_XML";
_data.send();
_data.addEventListener(ResultEvent.RESULT, onResult);
}
private function onResult (ev:ResultEvent):void
{
//clientes hace referencia al primer tag del XML.
var dataResult:ArrayCollection = ev.result.clientes as ArrayCollection;
for (var i:uint = 0; i<dataResult.length; i++)
{
var usersRS:UserVO = new UserVO();
var usersObj:Object = dataResult.getItemAt(i);
usersRS.id = usersObj.id;
usersRS.name = usersObj.name;
users.lastname = usersObj.lastname;
_allUsers.addItem(usersRS);
}
}
}
}
Y por último solo tendrías que asociar un dataGrid con el ArrayCollection (_allUsers) de la clase ResultadoXML.
No se si me he explicado bien?.
David