Generar un archivo xml con php usando datos que están guardados en una base de datos no es muy difícil, solo hay que tener clara la estructura y el orden de las columnas, ser muy cuidadoso a la hora de armar el archivo para que los datos calsen donde deben. A continuación les muestro un pequeño ejemplo, espero les sea de mucha utilidad. Manos a la obra.
Creamos el nombre del archivo dentro de una variable con extención .xml
$Name = 'prueba.xml';
$FileName = "./$Name";
$Header = '';
$Header .= "\r\n";
Luego colocamos las cabeceras que obligaran al documento a descargarse desde el navegador.
//Descarga el archivo desde el navegador
header('Expires: 0');
header('Cache-control: private');
header ("Content-type: text/xml"); // Archivo xml
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Description: File Transfer');
header('Last-Modified: '.date('D, d M Y H:i:s'));
header('Content-Disposition: attachment; filename="'.$Name.'"');
header("Content-Transfer-Encoding: binary");
Para traer los datos de la base de datos, creamos la conexión y en una variable guardamos la consulta y la ejecutamos.
$c = mysql_connect("mysql", "usuario","contraseña ");
mysql_select_db("partmo");
$lista="SELECT * FROM tabla_consulta";
$consulta = mysql_query($lista);
Se arma la estructura del xml dentro de un while en el orden en que se encuentren las columnas de la tabla, incluyendo el nombre de la tabla donde se encuentra y el nombre de las columnas correspondientes, al finalizar cerramos la conexión, no debemos olvidar colocar ela etiqueta principal en este caso KITS por fuera del while.
header ("Content-type: text/xml");
echo("<kits>");
while ($dato=mysql_fetch_row($consulta)){
echo("<kit>");
echo("<linea>$dato[0]</linea>");
echo("<marca>$dato[1]</marca>");
echo("<tipo>$dato[2]</tipo>");
echo("<modelo>$dato[3]</modelo>");
echo("<fecha>$dato[4]</fecha>");
echo("<motor>$dato[5]</motor>");
echo("</kit>");
}
echo("<kits>");
mysql_close();
muchas gracias señorita Leidy.
ResponderEliminartiene alguna forma de abrir el archivo xml en la misma aplicacion php?