Tener un XML con información de una base de datos puede ser muy útil, sobre todo si esa información queremos que esté disponible para que un programa externo disponga de ella. Lo que aquí vamos a hacer es crear un archivo .xml cuyo contenido va a ser los resultados del Recordset.

Tenemos la siguiente estructura:

idmiembro nombre fecha_nacimiento instrumento
0 Till Lindemann 04-01-1963 vocales
1 Richard Z. Kruspe 24-06-1967 guitarra
2 Paul Landers 09-12-1964 guitarra
3 Christoph Schneider 11-05-1966 batería
4 Oliver Riedel 11-04-1971 bajo
5 Flake Lorenz 06-11-1966 teclados

Comenzamos con nuestro archivo .php
Establecemos la conexión con la base de datos

$hostname = 'localhost';
$database = 'database';
$username = 'user';
$password = 'pass';
$friendlypin_com = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);

Creamos el nuevo archivo .xml

$nombrexml = 'miembros.xml';
$mixml = fopen($nombrexml,'w+');
$contenido = '
< ?xml version="1.0" encoding="iso-8859-1"?>
‘;
fwrite($mixml,$contenido);

Creamos un recordset con el que extraemos los datos de la tabla y mientras se van extrayendo los campos, vamos generando el contenido del XML

$contenido = '';
$query_Recordset1 = 'Select nombre, pincode, password from usuarios';
$Recordset1 = mysql_query($query_Recordset1, $friendlypin_com) or die(mysql_error());
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
for ($i=0;$i< =$totalRows_Recordset1;$i++){
	$row_Recordset1 = mysql_fetch_array($Recordset1);
	$contenido = $contenido."
	“;
	//Concatenamos lo que había antes en la variable + lo que introducimos
}
//Guardamos los datos
fwrite($mixml,$contenido);

Tras guardar los datos tenemos que cerrar la parte de <miembros>.

$contenido = "";
fwrite($mixml, $contenido);
fclose($mixml); //Cerramos el xml

Tras esto, el código xml quedaría así:

<?xml version="1.0" encoding="iso-8859-1"?>
<miembros>
  <miembro idmiembro="0" nombre='Till Lindemann" fecha_nacimiento="04-01-1963" instrumento="vocales" />
  <miembro idmiembro="1" nombre="Richard Z. Kruspe" fecha_nacimiento="24-06-1967" instrumento="guitarra" / >
  <miembro idmiembro="2" nombre="Paul Landers" fecha_nacimiento="09-12-1964" instrumento="guitarra" / >
  <miembro idmiembro="3" nombre="Christoph Schneider" fecha_nacimiento="11-05-1966" instrumento="bateria" / >
  <miembro idmiembro="4" nombre="Oliver Riedel" fecha_nacimiento="11-04-1971" instrumento="bajo" / >
  <miembro idmiembro=”5″ nombre=”Flake Lorenz” fecha_nacimiento=”06-11-1966″ instrumento=”teclados” / >
</miembros>