De las tantas consulta que me llegan a mi email y de a poco voy contestando, Nestor Fabio Monrtoya me solicita como se puede realizar un lector de RSS para sitios externos en AS 3.0.
Como lo prometido es deuda te detallo el paso a paso y vas a notar que es realmente una de las cosas más simple de hacer, sea en as3 o as2.
Para los que no sepan que es RSS les recomiendo este excelente sitio sobre todo lo referido a RSS que nos recomienda Roberta!
Actionscript:
-
//url que leeremos al iniciar
-
var urlRssLoad:String = "http://www.clarin.com/diario/hoy/um/sumariorss.xml";
-
//cargamos la url
-
function cargarRss() {
-
//gestiomamos la peticion URL
-
var urlRSS:URLRequest = new URLRequest(urlRssLoad);
-
//objeto encargado de los eventos cargalos por url
-
var loader:URLLoader = new URLLoader(urlRSS);
-
//escuchador para el evento de carga completa
-
loader.addEventListener(Event.COMPLETE, loadComplet);
-
loader.addEventListener(IOErrorEvent.IO_ERROR,ioError);
-
}
-
function ioError(o:IOErrorEvent):void {
-
cabecera_txt.text = "No se pudo procesar el RSS, compruebe la URL.";
-
noticia_txt.htmlText = "";
-
}
-
-
//si se cargo correctamente
-
function loadComplet(o:Event):void {
-
//agregamos el xml al objeto xml
-
var miXML:XML =new XML(o.target.data);
-
miXML.ignoreWhitespace = true;
-
cabecera_txt.text = "";
-
//la cabecera del rss
-
cabecera_txt.htmlText = "<a href='"+miXML.child(0).title+"' target='_blank'>"+miXML.child(0).title+"</a>";
-
cabecera_txt.htmlText += "<font size='10'>"+miXML.child(0).description+"</font>";
-
-
noticia_txt.htmlText = "";
-
//aca pueden levantar la imagen del rss
-
//noticia_txt.htmlText = "<img hspace='0' src='"+miXML.child(0).image.url+"'>";
-
//recorremos todos los nodos
-
for each (var item:XML in miXML..item) {
-
noticia_txt.htmlText += "<font color='#666666' size='10'>"+item.pubDate+"</font><br><u><a href='"+item.link+"'><b>"+item.title+"</b></a></u><br>";
-
noticia_txt.htmlText += item.description+"<br><br>";
-
}
-
myScrollBar.scrollTarget = noticia_txt;
-
}
-
//con esto podemos cargar una nueva RSS
-
leer_btn.addEventListener(MouseEvent.CLICK,onClickLeer);
-
function onClickLeer(o:MouseEvent):void {
-
if (nuevoRss_txt.text !="") {
-
urlRssLoad=nuevoRss_txt.text;
-
cargarRss();
-
}
-
}
-
//inicia la primera carga
-
cargarRss();
25 abril, 2009 at 10:52 pm
Muachas gracias por tu respuesta.
Al ejecutar el fla me funciona perfecto, pero si subo el swf al sitio donde tengo publicada la página del colegio donde trabajo, me sale el siguiente error:
Error #2044: securityError no controlado: text=Error #2048: Violación de la seguridad Sandbox: http://ahg.byethost11.com/Actualidad.swf no puede cargar datos desde http://www.eltiempo.com/vidadehoy/educacion/rss.xml.
at leerRss_fla::MainTimeline/cargarRss()
at leerRss_fla::MainTimeline/frame1()
Podrías ayudarme a corregir este problema.
Que Dios todo poderoso te bendiga. Mil gracias.
26 abril, 2009 at 11:25 pm
Muy bueno leo!
No te conectas mas al MSN parece :/
Un saludo muy grande!
27 abril, 2009 at 8:47 am
Hola Leo! muy interesante el artículo que has escrito sobre RSS. Es importante que la gente se conciencie de los beneficios de los RSS y sobre las herramientas que permiten que su utilización sea más sencilla. Te comento que he armado una pagina que explica específicamente acerca de los beneficios de los RSS. Si te interesa, te adjunto un enlace a la página que he escrito sobre RSS, que además incluye unos buenos tutoriales, paso a paso, sobre como darse de alta en un RSS gratuito y los tipos que hay. Ojala te guste.. Te adjunto el enlace de uno especialmente interesante:
http://www.rss.nom.es/tutorial-netvibes-lector-rss-web/
Saludos!
27 abril, 2009 at 12:14 pm
Nestor el problema es dado por la seguridad de tu sitio, suele pasar que hay sitios que tienen mas seguridad que otros y por eso se visualiza el cartel (Sandbox), voy a preparar un php para sortear esos casos, apena lo tenga lo publico!
28 abril, 2009 at 11:47 pm
Hola Leo!. Muy bueno el tutorial que has creeado para leer rss con flash, el ejemplo que gentilmente has creado funciona perfectamente en el servidor donde tengo la página del colegio:
www. antonioholguingarces.net78.net
también funciona con otros rrs, pero con la dirección:http://www.eltiempo.com/vidadehoy/ciencia/home/rss.xml
es que me da problema.
Muchas gracias d enuevo y bendiciones.
16 junio, 2011 at 11:44 pm
Hola quisiera saber como se podria sacar la imagen de cada una de las entradas del feed porque solo logra sacar la del logo unicamente
gracias
16 junio, 2011 at 11:46 pm
por ejemplo las imagenes del feed de noticias google se que aparecen pero queria ponerlas en otra parte osea parsear una a una las imagenes de las entradas
espero que me haya explicado bien
gracias!!