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>";
?>
//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.