Saludos, acá te coloco un ejemplo para generar XML con PHP, se hace a traves de echo
Código PHP:
<?php
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
//Conectamos la BD
include("conex.php");
// Aqui selecciona TODOS los registros de la bd
$query = "SELECT * FROM cancion WHERE 1";
$result = mysql_query($query);
if (!$result) {
die('Sintaxtis inválida: ' . mysql_error());
}
header("Content-type: text/xml; charset=UTF-8");
// Empieza el documento XML con el nodo padre (player)
echo '<player showDisplay="yes" showPlaylist="no" autoStart="no"> ';
// Insertamos a traves de echo's los nodos
while ($row = @mysql_fetch_assoc($result)){
// Añadimos el nodo
echo 'song path="' . parseToXML($row['urlcancion']) . '" ';
echo '/>';
}
// Cerramos el nodo padre y el documento xml
echo '</player>';
?>
Hay una forma de hacerlo en php5 que es mas limpia, pero en mi caso tuve que hacerlo así y me funciono al pelo.
Saludos.