Foros del Web » Programando para Internet » ASP Clásico »

rss con asp

Estas en el tema de rss con asp en el foro de ASP Clásico en Foros del Web. buenas tardes maestros, Por muchas vueltas que le he dado a este tema, no le veo solución. Trato de generar un feed de forma dinámica ...
  #1 (permalink)  
Antiguo 05/05/2011, 08:05
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
rss con asp

buenas tardes maestros,

Por muchas vueltas que le he dado a este tema, no le veo solución.
Trato de generar un feed de forma dinámica con asp.
El rss pasa las validaciones en http://validator.w3.org/feed/

Leo una db mssql e itero para mostrar el feed, pero no se muestran todos los registros de la db, utilizo un select top 20 * from tabla pero solo me devuelve 2. En realidad devuelve los 20, pero solo muestra 2. Cosa que no entiendo, he probado a utilizar diferentes patrones por si estaban dando problemas los saltos de línea, tabulaciones, retornos . . . pero no consigo nada.

voy a colocar el código completo por que no encuentro el error, no se ya las horas que llevo y nada, haber si de un vistazo encuentran el problema:

<%@ LANGUAGE=JavaScript%>
<% Response.Charset="ISO-8859-1" %>
<% Response.ContentType="application/rss+xml" %>
<% Response.Buffer=true %>

<%
Response.addHeader("pragma","no-cache");
Response.CacheControl = "Private";
Response.Expires = 0;
%>

<!--#include virtual="/includes/abrirCON.asp"-->
<!--#include virtual="/includes/consulSE.asp"-->
<!--#include virtual="/includes/fechaTA.asp"-->
<!--#include virtual="/includes/cortarTexto.asp"-->
<!--#include virtual="/includes/closeCONN.asp"-->

<%
abrirCON();

var consulta = "select TOP 20 * from solicita ";
consulta += "where activo=\'1\' ";
consulta += "order by fecha DESC";

consulSE();

var trabajos = dato;
dato = "";

closeCONN();

if (!trabajos=='undefined' || !trabajos=='null' || !trabajos==0 || !trabajos=="")
{
Response.Write("<?xml version='1.0' encoding='iso-8859-1'?>");
Response.Write("<rss version='2.0' xmlns:content='http://purl.org/rss/1.0/modules/content/' ");
Response.Write("xmlns:wfw='http://wellformedweb.org/CommentAPI/' ");
Response.Write("xmlns:dc='http://purl.org/dc/elements/1.1/' ");
Response.Write("xmlns:atom='http://www.w3.org/2005/Atom' ");
Response.Write("xmlns:sy='http://purl.org/rss/1.0/modules/syndication/' ");
Response.Write("xmlns:slash='http://purl.org/rss/1.0/modules/slash/'>");

Response.Write("<channel>");
Response.Write("<title>texto del título</title>");
Response.Write("<link>http://www.sitiowebdeprueba.com</link>");
Response.Write("<atom:link href='http://www.sitiowebdeprueba.com/rss/rssV3.asp' rel='self' type='application/rss+xml' />");
Response.Write("<description>texto de la descripción</description>");

var rssURL;
var patron = /\s/g;

for (i=0;i<trabajos.length;i++)
{
rssURL = "http://www.sitiowebdeprueba.com/" + trabajos[i][33] + "/";

Response.Write("<item>");
Response.Write("<title>" + trabajos[i][16] +"</title>");
Response.Write("<link>" + rssURL + "</link>");
Response.Write("<guid isPermaLink='true'>" + rssURL + "</guid>");
Response.Write("<description><![CDATA[" + cortarTexto(trabajos[i][17],155).replace(patron, ' ') + "]]></description>");
Response.Write("</item>");
}

Response.Write("</channel>");
Response.Write("</rss>");

}
%>

gracias,
un saludo,
josé carlos.
  #2 (permalink)  
Antiguo 06/05/2011, 11:14
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: rss con asp

hola buenas tardes,

el problema ya está localizado, pero no se como resolverlo, hay carácteres en este campo trabajos[i][17] que no deben estar permitidos en xml, el texto de campo procede de un textarea que guardo en una db mssql server.

debería ser suficiente aplicandole esta función, pero el problema continúa:
textoRSS(trabajos[i][16]);

function textoRSS(texto)
{
var textpeli = texto.toLowerCase();
textpeli = textpeli.replace(/[áàäâ]/g, 'a');
. . . . igual con e, i, o, u . . .
textpeli = textpeli.replace(/[ýÿ]/g, 'y');
textpeli = textpeli.replace([ñ]/g, 'n');
textpeli = textpeli.replace([Ç]/g, 'c');
textpeli = textpeli.replace(['"]/g, '');
textpeli = textpeli.replace(/\s+/g, ' ');

return textpeli;
}

¿saben como limpiar con javascript un campo de texto textarea almacenado en una db mssql server para que sea compatible con xml?

P.D. voy a preguntar en el foro de javascript, gracias.

un saludo,
josé carlos.

Etiquetas: asp, rss
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:55.