Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2008, 16:57
Avatar de pcarvajal
pcarvajal
 
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 3 meses
Puntos: 8
Duda con <![CDATA[ de RSS

Estoy probando un código que encontré en las FAQs sobre como generar XML desde ASP, pero tengo una duda con la linea que está en negrita:

Código PHP:
response.ContentType = "text/xml"
response.Write "<?xml version=""1.0"" encoding=""iso-8859-1"" ?>" & vbCrlf
response.Write "<rss version=""0.91"">" & vbCrlf
response.Write "<channel>" & vbCrlf
response.Write "<title>Mi titulo</title>" & vbCrlf
response.Write "<link>http://www.misitio.com/</link>" & vbCrlf
response.Write "<description>Mi descripcion</description>" & vbCrlf
response.Write "<language>es-CL</language>" & vbCrlf

Sql="SELECT TOP 10 * FROM Mi Base (NOLOCK) ORDER BY fecha DESC"
Set Rs = con.Execute(Sql)
if not Rs.EOF then
    while not Rs.EOF     
        cadena=Rs("noticia")   
        cadena=Replace(cadena,"¥","&acute;")
        cadena=Replace(cadena,"<br>",chr(13))
        cadena=Replace(cadena,">","&gt;")
        cadena=Replace(cadena,"<","&lt;")
        cadena=Replace(cadena,"&","&amp;")
        cadena=Replace(cadena,"¿","&iquest;")
        cadena=Replace(cadena,"ñ","&Ntilde;")
        cadena=Replace(cadena,"ñ","&ntilde;")
        cadena=Replace(cadena,"ó","&aacute;")
        cadena=Replace(cadena,"é","&eacute;")
        cadena=Replace(cadena,"á","&aacute;")
        cadena=Replace(cadena,"é","&eacute;")
        cadena=Replace(cadena,"í","&iacute;")
        cadena=Replace(cadena,"ó","&oacute;")
        cadena=Replace(cadena,"ú","&uacute;")
        
        response.write "<item>" & vbCrlf
        response.write "<title>" & Rs("fecha2") & "</title>" & vbCrlf
        response.Write "<link>http://www.misitio.com/pagina.asp</link>" & vbCrlf
        [B]response.write "<description><![CDATA[" & cadena & "]]></description>" & vbCrlf[/B]
        response.write "</item>" & vbCrlf   
    Rs.Movenext
    wend  
end if
Set Rs = nothing

response.Write "</channel>" & vbCrlf
response.Write "</rss>" & vbCrlf
Asumo debería generarmelo así:
Código PHP:
<description>esto es el texto</description
pero en cambio me lo genera sí:
Código PHP:
<description>
<![
CDATAesto es el texto ]]> 
</
description
No entiendo mucho que sucede.. alguien podría explicarlo por favor?