sábado, 30 de mayo de 2009

Práctica 6: Programa AJAX

Para la práctica he creado un programa basado en feeds. En él puedes tanto visitar algunos que te propongo, como almacenar los que te gusten. Además, como extensión le añadí un apartado para telecos que quieran informarse sobre su plan de estudios almacenado que es leído deen un fichero .xml.

Ficheros:
1. Cliente
2. Servidores:
El primero escrito en Perl


#!/usr/bin/perl

use CGI qw(:standard);
use XML::RSS;
use LWP::Simple qw(get);

my $numero_elementos = param('num_elementos');
my $url = param('url');
#Baja fichero
my $rdf = get($url);
my $rss = new XML::RSS;
$rss->parse($rdf);
my $rss_salida = new XML::RSS;
$rss_salida->channel( title => 'Resumen feed',
link => $url,
description => 'Resumiendo el feed' );
print header( -type => 'application/xhtml+xml' );

for (my $i = 0; $i < $numero_elementos;$i ++ ) {
$rss_salida->add_item( title => $rss->{'items'}[$i]->{'title'},
link => $rss->{'items'}[$i]->{'link'},
description => $rss->{'items'}[$i]->{'description'});
}
print $rss_salida->as_string;


El segundo escrito en Ruby:


#!/usr/bin/ruby
require 'rexml/document'
require 'cgi'
include REXML

cgi = CGI.new()
print""
#Recojo los parámetros que le paso por la interfaz res
curso=cgi.params['curso'][0]

print "Content-Type: application/xhtml+xml\n\n"

# Construimos documento XML
file = File.new('teleco.xml','r')
doc = Document.new(file)

print ""

#Busco dentro del documento el curso concreto y obtengo el contenido de las asignaturas que corresponden con el tipo buscado
doc.root.each_element(curso.to_s) { |c|
c.each_element('asignatura'){ |a|
print a,"\n" #Imprimo la asignatura que estaba buscando
}
}
print""
print""




Podemos probarlo en esta direccion

No hay comentarios: