miércoles, julio 15, 2009

Conociendo Flex XVI: Procesando archivos XML

.

El siguiente ejemplo muestra como leer un archivo XML remoto y extraer sus atributos. Esto se realiza a partir de alojar sus campos en una estructura interna de programa tipo lista. El archivo a recuperar ("contenidos.xml") es el siguiente:


<?xml version="1.0" encoding="utf-8"?>
<contenido>
<pagina location="inicio">
<title>Inicio</title>
<text>Contenido perteneciente a la sección "Inicio".</text>
</pagina>
<pagina location="acerca">
<title>Acerca de</title>
<text>Contenido perteneciente a la sección "Acerca de"</text>
</pagina>
<pagina location="enlaces">
<title>Enlaces Recomendados</title>
<text>Contenido perteneciente a la sección "Enlaces Recomendados"</text>
</pagina>
</contenido>


Y el programa es


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="datosexternos.send()">
<mx:Script>
<![CDATA[
private var listacontenidos:XMLList;
private function showPage(targetPage:String):void{
//Extrae el título de la página
listacontenidos = datosexternos.lastResult.pagina.(@location==targetPage).title;
//Copia el título a variable de publicación
header.text=listacontenidos;
//Extrae el cuerpo de la página
listacontenidos = datosexternos.lastResult.pagina.(@location==targetPage).text;
//Copia el cuerpo a variable de publicación
body.text=listacontenidos;
}
]]>
</mx:Script>
<!-- Definición del origen de los datos a cargar -->
<mx:HTTPService url="contenidos.xml" id="datosexternos" resultFormat="e4x"/>
<!-- Visualización de los contenidos -->
<mx:VBox>
<mx:Label fontSize="22" id="header" text="Ejemplo de Sitio" />
<mx:Label id="body" text="Seleccione su opción de navegación!" />
<mx:HBox>
<mx:Button label="Inicio" click="showPage('inicio')"/>
<mx:Button label="Acerca de" click="showPage('acerca')"/>
<mx:Button label="Enlaces Externos" click="showPage('enlaces')"/>
</mx:HBox>
</mx:VBox>
</mx:Application>



1 comentario:

Anónimo dijo...

muy bueno, claro y preciso