Estoy iniciandome en flex y voy muy perdido. Novato y sintiendome inutil......
alguien podria mostrarme un codigo sencillo de una aplicacion flex donde muestre datos recogidos de un fichero xml?
Gracias
|
|
#1 (permalink) |
![]() Fecha de Ingreso: agosto-2007
Mensajes: 19
|
recoger datos de xml básico
Estoy iniciandome en flex y voy muy perdido. Novato y sintiendome inutil...... alguien podria mostrarme un codigo sencillo de una aplicacion flex donde muestre datos recogidos de un fichero xml? Gracias |
|
|
|
|
|
#2 (permalink) |
![]() Fecha de Ingreso: mayo-2008
Mensajes: 9
|
Re: recoger datos de xml básico
Mira raikkonen83 me parece haber visto en el foro un tema al respecto (Flex Builder 2 + XML), de hecho hace poco estuve buscando info al respecto, también soy novato pero bueno, me interesa Flex; entre varias fuentes arme el siguiente código:
Código:
Espero que te sea útil <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientColors="[#c0c0c0, #408080]"
creationComplete="initfnc()">
<mx:HTTPService id="getData"
url="http://localhost/flex_php/list.php"
useProxy="false" method="GET" resultFormat="xml" result="getDatafnc(event)">
</mx:HTTPService>
<mx:XML id="mydata" source="http://localhost/flex_php/list.php"></mx:XML>
<mx:DataGrid id="emaillist" x="30" y="30">
<mx:columns>
<mx:DataGridColumn dataField="first" />
<mx:DataGridColumn dataField="last" />
<mx:DataGridColumn dataField="email" />
</mx:columns>
</mx:DataGrid>
<mx:HBox>
<mx:Button label="Load XML Static =)" click="emaillist.dataProvider=mydata.subscriber" />
<mx:Button label="Clear DG =)" click="emaillist.dataProvider=' ';dataArray.removeAll();" />
<mx:Button label="Load XML Dinamic =)" click="getData.send()" />
</mx:HBox>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
[Bindable]
private var dataArray:ArrayCollection;
private function initfnc():void
{
dataArray=new ArrayCollection();
getData.send();
}
private function getDatafnc(event: ResultEvent):void
{
var xml:XML=XML(event.result);
var oElemento:Object;
Alert.show(xml.toXMLString());
for each ( var element:XML in xml.elements() )
{
oElemento = new Object();
oElemento.first = element.first;
oElemento.last = element.last;
oElemento.email = element.email;
dataArray.addItem(oElemento);
}
emaillist.dataProvider=dataArray;
}
]]>
</mx:Script>
</mx:Application>
, prueba modificando el código...Básicamente el ejemplo muestra dos formas de acceder a un XML, (en este caso estoy generando el XML dinámicamente desde PHP, pero bien puedes sustituir el archivo list.php por un xml estático). |
|
|
|
|
|
#4 (permalink) |
![]() Fecha de Ingreso: agosto-2007
Mensajes: 19
|
Re: recoger datos de xml básico
Muchas gracias por responder y la ayuda, pero no estoy siendo capaz de hacer funcionar tu codigo.
Me podrias pasar unas lineas de codigo xml estatico para que funcione y pueda ver como va del todo???te pediria para no tener que volver a molestar donde deberia poner el xml para que lo leyera y si deberia modificar la ruta a la q apunta url. Gracias y perdon por las molestias |
|
|
|
|
|
#5 (permalink) |
![]() |
Re: recoger datos de xml básico
Para no duplicar la respuesta checa este ejemplo que acabo de poner:
http://www.forosdelweb.com/f113/dond...5/#post2391145
__________________
You'll be free, hackers, you'll be free |
|
|
|
|
|
#6 (permalink) |
![]() Fecha de Ingreso: mayo-2008
Mensajes: 9
|
Re: recoger datos de xml básico
Hola, disculpa si respondo hasta ahora, el xml estático podría ser algo como:
Código:
y podrías guardarlo como gustes, por ejemplo "subscribers.xml", será el nombre con el que lo específiques en la url en :<subscribers> <subscriber> <first>first1</first> <last>last1</last> <email>email1</email> </subscriber> <subscriber> <first>first2</first> <last>last2</last> <email>email2</email> </subscriber> </subscribers> <mx:HTTPService id="getData" url="http://localhost/flex_php/list.php" useProxy="false" method="GET" resultFormat="xml" result="getDatafnc(event)"> </mx:HTTPService> y/o en el source en: <mx:XML id="mydata" source="http://localhost/flex_php/list.php"></mx:XML> el xml lo puedes poner donde desees (dentro del directorio Web), solo que debes específicar la ruta adecuada (la ruta web con la que visualices en el navegador, en mi caso podría ser: http://localhost/flex_php/subsctribers.xml ). Espero te sea útil . |
|
|
|
![]() |
| Herramientas | |
| Desplegado | Califica este Tema |
|
|