Discussion:
[flash] lector RSS en flash
(demasiado antiguo para responder)
sinclair
2008-02-19 18:39:10 UTC
Permalink
Hola a todos.
Estoy haciendome un lector RSS dentro de flash.
He seguido un tutorial estupendo y me funciona bastante bien.
http://blog.unijimpe.net/lector-de-rss-en-flash/

Este lector lee mi blog de blogspot sin problema, pero hay una
funcionalidad que no se como darle.
Se trata de conseguir que cuando el cuerpo de una entrada del blog
contenga un enlace a otra web, este aparezca en el flash en otro color o
en negrita.
He tratado de hacerlo, pero reconozco que mis conocimientos son
limitados y nunca lo consigo, y el texto del cuerpo de la entrada
siempre aparece en texto negro y normal, aun cuando es enlace en el blog.

Este es el actionscript que uso, si alguien sabe como ahcerlo,
agradeceré la ayuda.

Gracias mil de antemano
Juan
var rssurl = "proxy.php";
//var rssurl:String = "unijimpe.xml";
var rssxml:XML = new XML();
rssxml.ignoreWhite = true;
rssxml.load(rssurl);
rssxml.onLoad = function() {
var nodo:XMLNode = rssxml.firstChild.firstChild;
var vtit:String = "";
var vurl:String = "";
var vdes:String = "";
var vcon:String = "";
for (i=0; i<nodo.childNodes.length; i++) {
var snodo:XMLNode = nodo.childNodes[i];
switch (snodo.nodeName) {
vtit = snodo.firstChild.nodeValue;
break;
vurl = snodo.firstChild.nodeValue;
break;
vdes = snodo.firstChild.nodeValue;
break;
vcon = vcon + getContent(snodo);
break;
}
}
txttitle.htmlText = "<a href=\""+vurl+"\">"+vtit+"</a>";
txtdescription.text = vdes;
txtcontent.htmlText = vcon;
}
function getContent(vxml) {
var stit:String = "";
var surl:String = "";
var sdes:String = "";
for (j=0; j<vxml.childNodes.length; j++) {
var sxml:XMLNode = vxml.childNodes[j];
switch (sxml.nodeName) {
vtit = sxml.firstChild.nodeValue;
break;
vurl = sxml.firstChild.nodeValue;
break;
vdes = sxml.firstChild.nodeValue;
break;
}
}
return "<a href=\""+vurl+"\"><b><font color=\"#0066FF\">"+vtit+"</font></b></a><br>"+vdes+"<br><br>";
}
stop();
Lucas Sevilla
2008-02-20 07:04:28 UTC
Permalink
Bueno una solución más sencilla es usar http://www.springwidgets.com/ que es
un lector RSS en el que puedes añadir tantos RSS como quieras e incluso da
la opción de añadir ese Widget a tu iGoogle... y otras Webs similares.
--
Saludos
www.lucassevilla.info
Post by sinclair
Hola a todos.
Estoy haciendome un lector RSS dentro de flash.
He seguido un tutorial estupendo y me funciona bastante bien.
http://blog.unijimpe.net/lector-de-rss-en-flash/
Este lector lee mi blog de blogspot sin problema, pero hay una
funcionalidad que no se como darle.
Se trata de conseguir que cuando el cuerpo de una entrada del blog
contenga un enlace a otra web, este aparezca en el flash en otro color o
en negrita.
He tratado de hacerlo, pero reconozco que mis conocimientos son limitados
y nunca lo consigo, y el texto del cuerpo de la entrada siempre aparece en
texto negro y normal, aun cuando es enlace en el blog.
Este es el actionscript que uso, si alguien sabe como ahcerlo, agradeceré
la ayuda.
Gracias mil de antemano
Juan
var rssurl = "proxy.php";
//var rssurl:String = "unijimpe.xml";
var rssxml:XML = new XML();
rssxml.ignoreWhite = true;
rssxml.load(rssurl);
rssxml.onLoad = function() {
var nodo:XMLNode = rssxml.firstChild.firstChild;
var vtit:String = "";
var vurl:String = "";
var vdes:String = "";
var vcon:String = "";
for (i=0; i<nodo.childNodes.length; i++) {
var snodo:XMLNode = nodo.childNodes[i];
switch (snodo.nodeName) {
vtit = snodo.firstChild.nodeValue;
break;
vurl = snodo.firstChild.nodeValue;
break;
vdes = snodo.firstChild.nodeValue;
break;
vcon = vcon + getContent(snodo);
break;
}
}
txttitle.htmlText = "<a href=\""+vurl+"\">"+vtit+"</a>";
txtdescription.text = vdes;
txtcontent.htmlText = vcon;
}
function getContent(vxml) {
var stit:String = "";
var surl:String = "";
var sdes:String = "";
for (j=0; j<vxml.childNodes.length; j++) {
var sxml:XMLNode = vxml.childNodes[j];
switch (sxml.nodeName) {
vtit = sxml.firstChild.nodeValue;
break;
vurl = sxml.firstChild.nodeValue;
break;
vdes = sxml.firstChild.nodeValue;
break;
}
}
return "<a href=\""+vurl+"\"><b><font
color=\"#0066FF\">"+vtit+"</font></b></a><br>"+vdes+"<br><br>";
}
stop();
sinclair
2008-02-20 09:36:44 UTC
Permalink
Hola Lucas.
Gracias pero ese sistema, si no me equivoco no me permite meter el
lector RSS dentro de un flash, que es lo que necesito.

saludos y gracias
Juan
Post by Lucas Sevilla
Bueno una solución más sencilla es usar http://www.springwidgets.com/ que es
un lector RSS en el que puedes añadir tantos RSS como quieras e incluso da
la opción de añadir ese Widget a tu iGoogle... y otras Webs similares.
Lucas Sevilla
2008-02-20 11:22:29 UTC
Permalink
Eso que te he mostrado es un lector de RSS donde puedes incluir tantos RSS
como quieras, la diferencia respecto a otros es que está construido en
Flash.

También puedes ver la Web de Juan Muro, http://www.ffflashhh.com/ que tiene
un ejemplo de noticias con XML


Otra opción muy util es usar el RSS PARSER de Samuel Wan
http://www.samuelwan.com/information/archives/000091.html que te convierte
los datos del RSS a un Objeto.
--
Saludos
www.lucassevilla.info
Post by sinclair
Hola Lucas.
Gracias pero ese sistema, si no me equivoco no me permite meter el lector
RSS dentro de un flash, que es lo que necesito.
saludos y gracias
Juan
Post by Lucas Sevilla
Bueno una solución más sencilla es usar http://www.springwidgets.com/ que
es un lector RSS en el que puedes añadir tantos RSS como quieras e
incluso da la opción de añadir ese Widget a tu iGoogle... y otras Webs
similares.
Lucas Sevilla
2008-02-20 11:23:28 UTC
Permalink
y otra opción aún más fácil:

http://blog.unijimpe.net/lector-de-rss-en-flash/
--
Saludos
www.lucassevilla.info
Juan Muro
2008-02-20 12:55:39 UTC
Permalink
Creo que pueden haber varias soluciones, es cuestión de probar:
La primera puede ser usando las etiquetas de html admitidas por flash 8 de
manera más estricta:
En lugar de:
txttitle.htmlText = "<a href=\""+vurl+"\">"+vtit+"</a>";
poner
txttitle.htmlText = "<a href="+vurl+">"+vtit+"</a>";
y de la misma manera donde pones:
<font color=\"#0066FF\">"+vtit+"</font>
poner
<font color='#0066FF'>"+vtit+"</font>
(atento a las comillas simples)

La segunda manera sería aplicar al texto a variar la etiqueta <p> de párrafo
con el atributo class con el que puedes asignar una clase de css al párrafo,
lo cual viene bien explicado en la ayuda del programa:
http://livedocs.adobe.com/flash/9.0_es/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000907.html
(la solución concreta a tu problema la tienes en el enlace 'Ejemplo de
utilización de estilos con XML'
pero tambien en cristalab:
http://www.cristalab.com/vertutorial.php?id=21
O bien, si no me equivoco, tu mismo tutorial:
http://blog.unijimpe.net/implementar-menu-con-css/

Otra manera sería aplicando nodos CDATA al xml, lo que nos permite parsear
el texto con mayor facilidad y variedad de formatos, aunque relentiza y hace
más pesadas la carga y parseo del xml.
Seguro que hay más soluciones que me dejo en el tintero, pero ya nos
contarás.
Salu2
`8¬}
Juan Muro
Post by sinclair
Hola a todos.
Estoy haciendome un lector RSS dentro de flash.
He seguido un tutorial estupendo y me funciona bastante bien.
http://blog.unijimpe.net/lector-de-rss-en-flash/
Este lector lee mi blog de blogspot sin problema, pero hay una
funcionalidad que no se como darle.
Se trata de conseguir que cuando el cuerpo de una entrada del blog
contenga un enlace a otra web, este aparezca en el flash en otro color o
en negrita.
He tratado de hacerlo, pero reconozco que mis conocimientos son limitados
y nunca lo consigo, y el texto del cuerpo de la entrada siempre aparece en
texto negro y normal, aun cuando es enlace en el blog.
Este es el actionscript que uso, si alguien sabe como ahcerlo, agradeceré
la ayuda.
Gracias mil de antemano
Juan
var rssurl = "proxy.php";
//var rssurl:String = "unijimpe.xml";
var rssxml:XML = new XML();
rssxml.ignoreWhite = true;
rssxml.load(rssurl);
rssxml.onLoad = function() {
var nodo:XMLNode = rssxml.firstChild.firstChild;
var vtit:String = "";
var vurl:String = "";
var vdes:String = "";
var vcon:String = "";
for (i=0; i<nodo.childNodes.length; i++) {
var snodo:XMLNode = nodo.childNodes[i];
switch (snodo.nodeName) {
vtit = snodo.firstChild.nodeValue;
break;
vurl = snodo.firstChild.nodeValue;
break;
vdes = snodo.firstChild.nodeValue;
break;
vcon = vcon + getContent(snodo);
break;
}
}
txttitle.htmlText = "<a href=\""+vurl+"\">"+vtit+"</a>";
txtdescription.text = vdes;
txtcontent.htmlText = vcon;
}
function getContent(vxml) {
var stit:String = "";
var surl:String = "";
var sdes:String = "";
for (j=0; j<vxml.childNodes.length; j++) {
var sxml:XMLNode = vxml.childNodes[j];
switch (sxml.nodeName) {
vtit = sxml.firstChild.nodeValue;
break;
vurl = sxml.firstChild.nodeValue;
break;
vdes = sxml.firstChild.nodeValue;
break;
}
}
return "<a href=\""+vurl+"\"><b><font
color=\"#0066FF\">"+vtit+"</font></b></a><br>"+vdes+"<br><br>";
}
stop();
Lucas Sevilla
2008-02-20 15:00:37 UTC
Permalink
Si, mejor que lo explique el autor xD...
Post by Juan Muro
La primera puede ser usando las etiquetas de html admitidas por flash 8 de
txttitle.htmlText = "<a href=\""+vurl+"\">"+vtit+"</a>";
poner
txttitle.htmlText = "<a href="+vurl+">"+vtit+"</a>";
<font color=\"#0066FF\">"+vtit+"</font>
poner
<font color='#0066FF'>"+vtit+"</font>
(atento a las comillas simples)
La segunda manera sería aplicar al texto a variar la etiqueta <p> de
párrafo con el atributo class con el que puedes asignar una clase de css
http://livedocs.adobe.com/flash/9.0_es/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000907.html
(la solución concreta a tu problema la tienes en el enlace 'Ejemplo de
utilización de estilos con XML'
http://www.cristalab.com/vertutorial.php?id=21
http://blog.unijimpe.net/implementar-menu-con-css/
Otra manera sería aplicando nodos CDATA al xml, lo que nos permite parsear
el texto con mayor facilidad y variedad de formatos, aunque relentiza y
hace más pesadas la carga y parseo del xml.
Seguro que hay más soluciones que me dejo en el tintero, pero ya nos
contarás.
Salu2
`8¬}
Juan Muro
Post by sinclair
Hola a todos.
Estoy haciendome un lector RSS dentro de flash.
He seguido un tutorial estupendo y me funciona bastante bien.
http://blog.unijimpe.net/lector-de-rss-en-flash/
Este lector lee mi blog de blogspot sin problema, pero hay una
funcionalidad que no se como darle.
Se trata de conseguir que cuando el cuerpo de una entrada del blog
contenga un enlace a otra web, este aparezca en el flash en otro color o
en negrita.
He tratado de hacerlo, pero reconozco que mis conocimientos son limitados
y nunca lo consigo, y el texto del cuerpo de la entrada siempre aparece
en texto negro y normal, aun cuando es enlace en el blog.
Este es el actionscript que uso, si alguien sabe como ahcerlo, agradeceré
la ayuda.
Gracias mil de antemano
Juan
var rssurl = "proxy.php";
//var rssurl:String = "unijimpe.xml";
var rssxml:XML = new XML();
rssxml.ignoreWhite = true;
rssxml.load(rssurl);
rssxml.onLoad = function() {
var nodo:XMLNode = rssxml.firstChild.firstChild;
var vtit:String = "";
var vurl:String = "";
var vdes:String = "";
var vcon:String = "";
for (i=0; i<nodo.childNodes.length; i++) {
var snodo:XMLNode = nodo.childNodes[i];
switch (snodo.nodeName) {
vtit = snodo.firstChild.nodeValue;
break;
vurl = snodo.firstChild.nodeValue;
break;
vdes = snodo.firstChild.nodeValue;
break;
vcon = vcon + getContent(snodo);
break;
}
}
txttitle.htmlText = "<a href=\""+vurl+"\">"+vtit+"</a>";
txtdescription.text = vdes;
txtcontent.htmlText = vcon;
}
function getContent(vxml) {
var stit:String = "";
var surl:String = "";
var sdes:String = "";
for (j=0; j<vxml.childNodes.length; j++) {
var sxml:XMLNode = vxml.childNodes[j];
switch (sxml.nodeName) {
vtit = sxml.firstChild.nodeValue;
break;
vurl = sxml.firstChild.nodeValue;
break;
vdes = sxml.firstChild.nodeValue;
break;
}
}
return "<a href=\""+vurl+"\"><b><font
color=\"#0066FF\">"+vtit+"</font></b></a><br>"+vdes+"<br><br>";
}
stop();
sinclair
2008-02-20 21:44:29 UTC
Permalink
Gracias a todos por vuestra ayuda.
La verdad es que he dejado aparcado el asunto de los links, por que me
he encontrado que el sistema, que lee un xml de un blogspot, se vuelve
loco, y a veces funciona y lle, y a veces no lee nada.
he alojado en dos servidores el proxy en php y el flash y cuando es
sistema falla, falla en ambos, y cuando se recupera, idem.

he usado el tutorial de http://blog.unijimpe.net/lector-de-rss-en-flash/
(al que me habéis redirigido) pero no acabo de entender por que a
veces lee y a veces no
¿puede ser una cosa del server de blogspot?


Saludos y gracias mil
Juan

Loading...