entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Crear un XML con una consulta en base de datos

Tengo una consulta ya lista para traer información acerca de artistas, canciones y albumes.

SELECT artista, album, cancion
FROM artista 
LEFT JOIN album
on artista.artist_ID = album.id
LEFT JOIN cancion
on album.id = cancion.id
ORDER BY artista.artista, album.id, cancion.id

Necesito una estructura XML como esta:

<myTunes>
 <music>
  <artista name="$artista1">
   <album name="$album1">
    <cancion>$cancion1</cancion>
    <cancion>$cancion2</cancion>
    <cancion>$cancion3</cancion>
   </album>
 </artista>
 </music>
 <music>
  <artista name="$artista1">
   <album name="$album2">
    <cancion>$cancion1</cancion>
    <cancion>$cancion2</cancion>
    <cancion>$cancion3</cancion>
   </album>
  </artista>
 </music>
 <music>
  <artista name="$artista2">
   <album name="$album1">
    <cancion>$cancion1</cancion>
    <cancion>$cancion2</cancion>
    <cancion>$cancion3</cancion>
   </album>
  </artista>
 </music>
</myTunes>

¿Alguien que me pueda orientar?

1 Respuesta

1voto

Peter Puntos150480

Utiliza XML Writer o DomDocument:

$root = $xml->createElement('myTunes');
$root = $xml->appendChild($root);

$music = $xml->createElement('music');
$music = $root->appendChild($music);

$artista = $xml->createElement('artista');
$artista = $music->appendChild($artista);
$text = $xml->createAttribute('nombre');
$text->value = 'artista_nombre'; 
$text = $artista->appendChild($text);

$album = $xml->createElement('album'); 
$album = $artista->appendChild($album); 
$text = $xml->createAttribute('nombre');
$text->value = 'album_nombre'; 
$text = $album->appendChild($text);

$cancion = $xml->createElement('cancion');
$cancion = $album->appendChild($cancion); 
$text = $xml->createTextNode('cancion_nombre');
$text = $cancion->appendChild($text);

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta