Foros del Web » Programando para Internet » PHP »

Ordenar un XML

Estas en el tema de Ordenar un XML en el foro de PHP en Foros del Web. Hola. mi consulta es la siguente. musica.xml Código: <?xml version="1.0" encoding="utf-8"?> <musicas> <musica> <titulo>Titulo 1</titulo> <artista>Artista 1</artista> </musica> <musica> <titulo>Titulo 3</titulo> <artista>Artista 3</artista> </musica> <musica> ...
  #1 (permalink)  
Antiguo 30/01/2009, 19:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Ordenar un XML

Hola. mi consulta es la siguente.

musica.xml

Código:
<?xml version="1.0" encoding="utf-8"?>
<musicas>

<musica>
<titulo>Titulo 1</titulo>
<artista>Artista 1</artista>
</musica>

<musica>
<titulo>Titulo 3</titulo>
<artista>Artista 3</artista>
</musica>

<musica>
<titulo>Titulo 2</titulo>
<artista>Artista 2</artista>
</musica>

</musicas>
y tengo esto

Código PHP:
<?

$xml 
simplexml_load_file("musica.xml");
$cnt count($xml->musica);

for(
$i=0; $<$cnt$i++)
{
echo 
"Musica $i<br/>Titulo: $xml->musica[$i]->titulo<br/>Artista: $xml->musica[$i]->artista<br/><br/>";
}

?>
Esto me imprime:

Musica 0:
Titulo: Titulo1
Artista: Artista1

Musica 1:
Titulo: Titulo3
Artista: Artista3

Musica 2:
Titulo: Titulo3
Artista: Artista3

Lo que quiero, pero no se como conseguirlo es ordenar por artistas de A-Z, se que la funcion "sort", pero no comprendo bien como ordena en este caso...

Espero que me puedan guiar un poco.
  #2 (permalink)  
Antiguo 30/01/2009, 20:16
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ordenar un XML

Lo que se me ocurre es ir guardando los datos en un array conforme haces el ciclo, pero poniendo como índice el nombre del artista. Y luego, usando ksort() reordenas el array y lo ciclas nuevamente para imprimirlo.

  #3 (permalink)  
Antiguo 30/01/2009, 20:50
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Ordenar un XML

Cita:
Iniciado por okram Ver Mensaje
Lo que se me ocurre es ir guardando los datos en un array conforme haces el ciclo, pero poniendo como índice el nombre del artista. Y luego, usando ksort() reordenas el array y lo ciclas nuevamente para imprimirlo.

y como se guardan los objetos dentro de un array?
  #4 (permalink)  
Antiguo 30/01/2009, 20:57
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ordenar un XML

Código PHP:
$array = array();
for(
$i=0$i<$cnt$i++) 

     
$array[$xml->musica[$i]->artista] = $xml->musica[$i]->titulo;

http://es.php.net/array

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 04:20.