Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2013, 21:10
nilotrajano
 
Fecha de Ingreso: septiembre-2010
Mensajes: 66
Antigüedad: 14 años, 1 mes
Puntos: 2
Pregunta ¿Como ordenar un xml de varios atributos con PHP?

Trato de ordenar un xml con varios atributos pero no he podido, el siguiente codigo lo uso para ordenar un atributo:

Código PHP:
$sxml simplexml_load_file("nombres.xml"); 
$res $sxml->xpath("/usuarios/id"); 

$posts = array(); 

foreach(
$res as $art2

    
$posts[] = (string) $art2->nombre



sort($posts); 

$clength=count($posts); 
for(
$x=0;$x<$clength;$x++) 
   { 
   echo 
$posts[$x]; 
   echo 
"<br>"
   } 
Estoy tratando de organizarlos con varios atibutos con el siguiente codigo pero no he podido:

Código PHP:

$sxml 
simplexml_load_file("nombres.xml");
$res $sxml->xpath("/usuarios/id");
function 
ordenar ($t1$t2
{
    return 
strcmp($t1['nombre'], $t2['nombre']);
    }
usort($res'ordenar');

foreach( 
$res as $art 
         {
echo 
$art->nombre;
echo 
$art->edad;
echo 
$art->sexo;
echo 
$art->profesion;
         } 
Me arroja los resultados pero sin ordenarlos por nombre.

El xml es de la forma:

Código:
<!--?xml version="1.0" encoding="iso-8859-1"?-->

<usuarios>

<id>		
<nombre>Felipe Guzman</nombre>	
<edad>24</edad>
<sexo>Masculino</sexo>
<profesion>Estudiante</profesion>
</id>

<id>		
<nombre>Ivan garcia</nombre>		
<edad>26</edad>
<sexo>Masculino</sexo>
<profesion>Contador</profesion>
</id>
	
</usuarios>
Agradezco su colaboracion