Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2011, 09:29
Avatar de diegojam
diegojam
 
Fecha de Ingreso: febrero-2011
Ubicación: Santiago, Chile, Chile
Mensajes: 23
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Generar xml con php y mysql

Hola, soy nuevo en el foro

Tengo una duda.
Necesito generar un archivo xml desde php obteniendo los datos de las tablas de mysql.

Lo que tengo es lo siguiente:
Cita:
<?php
//Indicamos que el contenido es XML
header("Content-Type: application/xml");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=xmlexport.xml");

//Establecemos los datos necesarios para la conexión a la bdd
$host = "localhost";
$user = "root";
$pass = "";
$database = "xml";

//Conectamos a la bdd
$enlace = mysql_connect($host, $user, $pass) or die("Error MySQL.");
mysql_select_db($database, $enlace) or die("Error base de datos.");

//Lanzamos la consulta
$query = "select * from noticias";
$resultado = mysql_query($query, $enlace) or die("Sin resultados.");



//En la variable "$salida_xml" guardaremos todo el texto que generemos con este código y lo mostraremos al final de todo
$salida_xml = "\n";
$salida_xml .= "\n";



echo "<?xml version='1.0' encoding='UTF-8'?>";


//Mostramos el tag padre
echo "<noticias>\n";

//Con este bucle sacaremos TODAS las noticias, envolviendo el contenido de cada uno de los campos con sus <tags> correspondientes y formateandolo con \t (tabular) y \n (salto de linea)
for($x = 0 ; $x < mysql_num_rows($resultado) ; $x++)
{
$fila = mysql_fetch_assoc($resultado);
$salida_xml .= "\t<noticia>\n";
$salida_xml .= "\t\t<id>" . $fila['idNot'] . "</id>\n";
$salida_xml .= "\t\t<titulo>" . $fila['tituloNot'] . "</titulo>\n";
// Corrigiendo caracteres incorrectos
$fila['textNot'] = str_replace("&", "&", $fila['textNot']);
$fila['textNot'] = str_replace("<", "<", $fila['textNot']);
$fila['textNot'] = str_replace(">", ">", $fila['textNot']);
$salida_xml .= "\t\t<texto>" . $fila['textNot'] . "</texto>\n";
$salida_xml .= "\t</noticia>\n";
}

//Mostramos todo el texto generado
echo $salida_xml;

//Cerramos el tag padre
echo "</noticias>";
?>

Pero lo que necesito es que no me de la opcion de guardar el xml, sino que de automaticamente crearlo sin preguntar.

Gracias.

Última edición por diegojam; 17/02/2011 a las 09:46