Foros del Web » Programando para Internet » PHP »

Generar xml con php y mysql

Estas en el tema de Generar xml con php y mysql en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/02/2011, 09:29
Avatar de diegojam  
Fecha de Ingreso: febrero-2011
Ubicación: Santiago, Chile, Chile
Mensajes: 23
Antigüedad: 13 años, 1 mes
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
  #2 (permalink)  
Antiguo 17/02/2011, 10:05
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Generar xml con php y mysql

Hola! que es lo que necesitas? Crearlo en pantalla ? para leerlo desde flash o crear un archivo xml en el servidor?

Saludos!
  #3 (permalink)  
Antiguo 17/02/2011, 10:19
Avatar de diegojam  
Fecha de Ingreso: febrero-2011
Ubicación: Santiago, Chile, Chile
Mensajes: 23
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Generar xml con php y mysql

Solucionado...

solo habia que agregar

$nombre = "archivo.xml";
$archivo= fopen($nombre, "w+");
fwrite($archivo, $salida_xml);
fclose($archivo);

y kitar: header("content-disposition: attachment;filename=xmlexport.xml");

Etiquetas: sql, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:16.