Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Flash y Actionscript (http://www.forosdelweb.com/f16/)
-   -   recoger datos de xml básico (http://www.forosdelweb.com/f16/recoger-datos-xml-basico-581932/)

raikkonen83 01/05/2008 06:56

recoger datos de xml básico
 
Saludos a todos

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

xf_corp 01/05/2008 20:00

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:

<?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>

Espero que te sea útil :-), 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).

Sergestux 01/05/2008 20:08

Re: recoger datos de xml básico
 
Te recomiendo que te bajes este libro en ingles y le des una buena ojeada al capitulo 7 y 8
  1. Foundation Flex for Developers - Data Driven Applications with PHPdhqcomma ASP.NETdhqcomma ColdFusiondhqcomma and LCDS

raikkonen83 02/05/2008 04:50

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

Sergestux 05/05/2008 12:37

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

xf_corp 07/05/2008 11:24

Re: recoger datos de xml básico
 
Hola, disculpa si respondo hasta ahora, el xml estático podría ser algo como:

Código:

<subscribers>

 <subscriber>
  <first>first1</first>
  <last>last1</last>
  <email>email1</email>
 </subscriber>
 <subscriber>
  <first>first2</first>
  <last>last2</last>
  <email>email2</email>
 </subscriber>

</subscribers>

y podrías guardarlo como gustes, por ejemplo "subscribers.xml", será el nombre con el que lo específiques en la url en :

<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 :-) .


La zona horaria es GMT -6. Ahora son las 05:16.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.