Programación Web y Scripting > PHP

 Error con Php y XML

(1/2) > >>

guillep:
Hola Amigos estoy teniendo un problema con una sindicación me muestra el siguiente mensaje.
sindicacion.php

This page contains the following errors:
error on line 32 at column 64: PCDATA invalid Char value 3
Below is a rendering of the page up to the first error.

Por favor si alguien me puede dar una mano

Muestro como tengo los dos archivos:
sindicacion.php

Código PHP:

--- Código: PHP ---<?php header ('Content-type: text/xml; content="text/html; charset=iso-8859-1'); echo ("<?xml version="1.0" encoding="iso-8859-1"?>"); ?> <rss version="2.0"> <channel> <title>Ofertas Laborales -  Mipagina .: Desarrollando :.</title> <link>web</link> <description>Ofertas Laborales / Version RSS</description> <language>es</language> <image> <title>Ofertas Laborales / Version RSS</title>n <url>/imgs/logo.jpg</url> <link>web</link> <description>Ofertas Laborales -  Mipagina .: Desarrollando :.</description> </image> <?php  mysql_connect ("localhost", "usuario", "pass") //mysql_connect ("localhost", "root", "pass")  or die ("Cannot connect to database server.");      mysql_select_db ("basededatos") or die ("Cannot connect to database.");  $resultado=mysql_query("SELECT * FROM pr_oferta where ofe_est='on' AND ofe_publicada='on' AND ofe_date_fin>date(now())  order by ofe_update desc limit 0,15"); //$row=mysql_fetch_array($resultado);              while ($datos = mysql_fetch_array ($resultado)) {      ?> <item> <title><? echo $datos["ofe_nombre"];?></title> <link> miweb/detalle.php?i=<?php echo $datos["ofe_id"];?></link> <description><? echo substr($datos["ofe_desc"],0,2000)."";?></description> </item> <? }  ?> </channel> </rss>  
Ahora el rss.xml

Código:

--- Código: PHP ---<?php header ('Content-type: text/xml; content="text/html; charset=iso-8859-1');echo ("<?xml version="1.0" encoding="iso-8859-1"?>");?><rss version="2.0">    <channel>        <title>Ofertas Laborales -  Mipagina .: Desarrollando :.</title><link>web</link><description>Ofertas Laborales / Version RSS</description><language>es</language><image><title>Ofertas Laborales / Version RSS</title>n<url>webg</url><link>web</link><description>Ofertas Laborales -  Mipagina .: Desarrollando :.</description></image><?php mysql_connect ("localhost", "user", "pass") or die ("Cannot connect to database server.");     mysql_select_db ("basededatos") or die ("Cannot connect to database."); $resultado=mysql_query("SELECT * FROM pr_oferta where ofe_est='On' order by ofe_update desc limit 0,15");     while ($datos = mysql_fetch_array ($resultado)) {     ?>        <item>            <title><?php echo $datos["ofe_nombre"];?></title>            <description><?php echo substr($datos["ofe_desc"],0,300)."...";?></description>            <link>webl</link>            <pubDate></pubDate>        </item><?php}mysql_free_result ($result);?>    </channel></rss> 

shadow_rev:
Si no me equivoco, y el PHP está configurado con short_open_tag en off, el tag que abres para php en la línea 32 del archivo sindicacion.php es el que te genera el problema: lo tienes <? en vez de <?php.

:suerte:

F_Tanori:
Bueno, el mensaje de error es de XML, no en PHP, la linea 32 de XML, lo que te comenta shadow_rev es frecuente que ocurra, o problemas similares y confusiones con

<?xml y <?php que llegan a  tener los scripts, creo que ayudaria mucho que nos mostraras el resultado XML es decir ya en el cliente (navegador; VER CODIGO FUENTE) para poder ver la estructura final del XML

Saludos

guillep:
Lo que veo es que pongo la dirección en mi navegador del rss y pongo ver código y me muestra los datos del conexión a la base de datos. Como hago para que oculte esa parte?

Si pongo en el explorador en para ver sidicacion.php y pongo ver el codigo el codigo se corta justo donde hay un acento en la linea 14.
Al parecer es un error del charset, le cambie el charset a la tabla en la base de datos y al archivo y sigue igual.

F_Tanori:

--- Cita de: "guillep" ---Lo que veo es que pongo la dirección en mi navegador del rss y pongo ver código y me muestra los datos del conexión a la base de datos. Como hago para que oculte esa parte?
--- Fin de la cita ---

En el cliente? o donde ves eso? en la pagina o en en el fuente?


--- Cita de: "guillep" ---Si pongo en el explorador en para ver sidicacion.php y pongo ver el codigo el codigo se corta justo donde hay un acento en la linea 14.
Al parecer es un error del charset, le cambie el charset a la tabla en la base de datos y al archivo y sigue igual.
--- Fin de la cita ---

Tienes que utilizar la codificacion UTF8 , al generar tu XML

http://www.php.net/manual/es/function.utf8-encode.php

Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa