Después del artículo de HTTPWebRequest, he decidido hacer una mini demostración de sus posibilidades.

El siguiente script, escrito 100% en Javascript, es capaz de procesar los titulares de cualquier feed RSS:

<script language="Javascript">
function GetRSS (psUrl)
{
var oHttp=false;
[email protected]_on @*/
[email protected] (@_jscript_version>=5)
{
var asParsers=['Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'];
for (var iCont=0; ((!oHttp) && (iCont<asParsers.length)); iCont++)
{
try
{
oHttp=new ActiveXObject(asParsers[iCont]);
}
catch(e)
{
oHttp=false;
}
}
}
@end @*/
if ((!oHttp) && (typeof XMLHttpRequest!='undefined'))
{
oHttp=new XMLHttpRequest();
}
oHttp.open('GET', psUrl, false);
oHttp.send(null);
sDatos=oHttp.responseText + ' ';
iCont=sDatos.indexOf('<item>', 0);
while (iCont!=-1)
{
sTitulo=sDatos.substring(sDatos.indexOf('<title>', iCont)+7,
sDatos.indexOf('</title>', iCont));
sLink=sDatos.substring(sDatos.indexOf('<link>', iCont)+6,
sDatos.indexOf('</link>', iCont));
document.write('<a href="' + sLink + '" target="_blank">' +
sTitulo + '</a><br>');
iCont=sDatos.indexOf('<item>', iCont+1);
}
}
GetRSS('http://www.javiergutierrezchamorro.com/rss.php');
</script>

En efecto, el código sería mejorable de muchas maneras, por ejemplo haciendo la lectura de forma asíncrona, o utilizando expresiones regulares para obtener los atributos del artículo. Todo esto se deja como labor al lector. 🙂

Podéis incrustar el código en vuestras páginas, solamente es necesario copiar de <script language="Javascript"> hasta </script> inclusive, y cambiar el parámetro de llamada a GetRSS por la URL del feed que nos interese, y automáticamente aparecerán los titulares con su respectivo enlace donde hayáis puesto el código.

Por restricciones de seguridad, solamente es posible acceder a feeds remotos, que están en el mismo dominio donde esté alojada nuestra página.

Descargar get_rss.html (2 Kb.).