Va de XML...

Xav0

Muy buenas a todos... resulta de que no hay forma que el xml que estoy intentando crear no me diga mas esto:

Se esperaba una cadena literal, pero no se encontraron las comillas de apertura. Error al procesar el recurso http://localh...

No se si será por los acentos, o por yo que se... a ver si me podeis ayudar.
Este es el codigo:

<% Response.ContentType = "text/xml" %>
<!--#include file="conexion.asp"-->
<%
set rs=Server.createObject("ADODB.Recordset")
isql="select * from noticias ORDER By id DESC"
rs.open isql,connexio,1,2
rs.MoveFirst()
response.write("<?xml version=1.0 encoding=iso-8859-1 ?> ")
response.write("<noticias>")
while (not rs.EOF)
response.write("<noticia>")
response.write("<titulo>" & rs.fields(1) & "</titulo>")
response.write("<contenido>" & rs.fields(4) & "</contenido>")
response.write("</noticia>")
rs.MoveNext()
wend
rs.close()
response.write("</noticias>")
%>

Gracias de antemano ;)

EnZo

pastea el xml que te genera

Xav0

No me genera nada, solamente me sale:

No se puede mostrar la página XML
No se puede ver la entrada XML con la hoja de estilo . Corrija el error y haga clic en el botón Actualizar, o inténtelo de nuevo más tarde.


Se esperaba una cadena literal, pero no se encontraron las comillas de apertura. Error al procesar el recurso http://localh...

<?xml version=1.0 encoding=iso-8859-1 ?> <noticias><noticia><titulo>Tomate la vida con mas optimismo...

guner

<?xml version=1.0 encoding=iso-8859-1 ?>

<?xml version="1.0" charset="elquesea"?>

EnZo

aunque te de error si le das a ver codigo fuente sale lo que ha generado.

edit: pos eso lo que dice guner, y el encoding tmb entre comillas

Xav0

Gracias por todo, pero hace poco que he empezado con xml y no se ke debo poner en "elquesea" :S

guner

Ahivá, me he confundido es encoding, no charset

<?xml version="1.0" encoding="iso-8859-1"?>

Xav0

Genial, si no es un error es otro... ahora:

La etiqueta de fin 'contenido' no coincide con la etiqueta de inicio 'BR'. Error al procesar el recurso http://localhost/mi...

tampoco soporta si hay etiquetas <br>??? :_(

Supongo que debe pillar los <br> como etiquetas xml :S ke puedo hacer?

guner

BR = break line???
< br/> en vez de < br>

Xav0

si, pero resutla que los campos de la bd a mostrar, tienen codigo HTML, no XHTML, por lo tanto el <br> no lo puedo cerrar :S

IS4kO

Yo en el encoding suelo usar el UTF-8, aunque no creo que el error venga por ahí.

Mete el resultado del rs en cdatas, para que el XML se trague todos los posibles simbolos que te pueda devolver el ResulSet:

<![CDATA[ ......... ]]>

Si te sigue sin ir, como decía Enzo, intenta pastearnos el xml que te genera

Xav0

Bueno, gracias a todos :) he podido solucionarlo por fin!
Así lo he dejado:

<% Response.ContentType = "text/xml" %>
<!--#include file="conexion.asp"-->
<%
set rs=Server.createObject("ADODB.Recordset")
isql="select * from noticias ORDER By id DESC"
rs.open isql,connexio,1,2
rs.MoveFirst() %>
<?xml version="1.0" encoding="iso-8859-1"?>
<%response.write("<noticias>")
while (not rs.EOF)
response.write("<noticia>")
response.write("<titulo>" & rs.fields(1) & "</titulo>") %>
<![CDATA[
<%response.write(rs.fields(4)) %>
]]>
<%response.write("</noticia>")
rs.MoveNext()
wend
rs.close()
response.write("</noticias>")
%>

De nuevo gracias.

IS4kO

El cdata siempre es la solucion :D, de nada, a mandar :)

Xav0

La putada es que los lectores de rss no me lo leen y me dicen que no es un xml valido :'(

IS4kO

No problem tiuu ;D si hablamos de RSS y lectores, create el tuyo propio si es que quieres tener un esquema personalizado, lo explico aquí: http://www.media-vida.net/vertema.php?fid=9&tid=217137

De todas formas, lo suyo es adaptarse los standares (como es el caso de la guia que te ponian anteriormente), para ello debes usar el esquema instaurado para RSS:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
.
.
.
< items>

< item>
.
.
.

El xml que geeneres debe tener ese mismo esquema, tienes un ejemplo completo en:

http://rss.elmundo.es/rss/descarga.htm?data2=4

Xav0

Ostia muchas gracias IS4K0 te debo una!! voy a probarlo y luego te cuento :)

IS4kO

Espero que te valga, te leere mañana que ya tengo los ojos en sangre de tanto pc :)

Kises

Xav0

ke raro, he echo una prueba asi:

http://www.minestudio.net/xml2.asp

Y me dice el lector (RSSOwl) que no es valido, en cambio la del mundo.es si es valida :S

Lo cree igual que la de ejemplo del mundo que me diste, solo cambia la primera linea que le inserte esta al ser ASP:

<% Response.ContentType = "text/xml" %>

Ya te leere mañana tonces :)

IS4kO

Has puesto <lenguaje> en vez de <languaje> :) mira ver si es eso ;)

Xav0

Lo he corregido, y al leerlo con RSSOwl me dice...

Error mientras se cargaba la noticia "http://www.minestudio.net/xml2.asp"

RSSOwl es incapaz de mostrar la noticia.

Motivo: Este fichero no es un documento XML válido. Error on line 2: The processing instruction target matching "[xX][mM][lL]" is not allowed.

EDITO: Linia 2: <?xml version="1.0" encoding="UTF-8" ?>

IS4kO

En mi lector tengo controlado algun error más y me dice:

" Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it. Line 2, position 4."

Es decir, que tienes algun espacio en blanco delante de la declaración xml y esta siempre tiene que estar la primera. He observado la página y a primera vista no se ve dicho espacio, pq se lo come el html, pero si le das a ver código fuente se ve una linea en blanco antes la declaración:

linea1:
linea2: <?xml version="1.0" encoding="UTF-8" ?>

Cuando tendría que ser:

linea1: <?xml version="1.0" encoding="UTF-8" ?>
linea2: ...

Elimina esa linea y listo (espero) :SS :)

Xav0

Bueno he puesto:

<?xml version="1.0" encoding="UTF-8" ?>
<% Response.ContentType = "text/xml" %>

La primera linia como me dijiste, y ahora parece ke va! muchas gracias! ahora toca pasarlo a ASP con mi base de datos... que dios me pille confesado jajaja.

Muchas gracias por todo, con gente así da gusto aprender :).

Iré posteando como va la cosa jejeje!

Un saludo!

EDITADO:

Parece ser que todo funciona bien, pero no traga los acentos :( cuando muestro la descripcion de la noticia, si contiene alguna letra con acentos y esas cosas PAM!! :(

EDITADO2:
Al parecer lo de los acentos se ha solucionado poniendo encoding="ISO-8859-1" :)

IS4kO

olé, enhorabuena Xav0 :)

Xav0

gracias a ti is4k0 ;)

Ahora tengo otra duda... se puede leer un rss desde una pagina web?

IS4kO

Si que puedes, la guía que hice http://www.media-vida.net/vertema.php?fid=9&tid=217137 , está hecha para una aplicación web, echa en .Net. Con ASP 3 no he probado, pero imagino que a través de com+ existiran dll's de servidor que te permitan el formateo de xml y demás...

Xav0

Gracias de nuevo, me lo miraré ;) te debo 1.000 :P

Usuarios habituales

  • Xav0
  • IS4kO
  • guner
  • EnZo