Tengo este XML:
Código:
La idea seria ordenar el resultado o el fichero (lo que les resulte mas facil de hacerme entender) de forma creciente o decreciente da lo mismo la cosa es que quede ordenado en funcion a la edad<?xml version="1.0" encoding="utf-8"?> <rank> <player name="Pablo" edad="17"/> <player name="Juan" edad="40"/> <player name="Pedro" edad="19"/> <player name="Carlos" edad="15"/> <player name="Esteban" edad="21"/> <player name="Vicente" edad="45"/> </rank>
cosa que quede asi:
Código:
Espero que me puedan ayudar un poquito que estoy estancado aqui.<?xml version="1.0" encoding="utf-8"?> <rank> <player name="Carlos" edad="15"/> <player name="Pablo" edad="17"/> <player name="Pedro" edad="19"/> <player name="Esteban" edad="21"/> <player name="Juan" edad="40"/> <player name="Vicente" edad="45"/> </rank>
Ya lo resolvi tube que ocupar un metodo demasiado arcaico para hacerlo, se los dejo porque me dio risa como lo hize....
rank.xml
<?xml version="1.0" encoding="utf-8"?>
<rank>
<player name="Carlos" edad="15"/>
<player name="Pablo" edad="17"/>
<player name="Pedro" edad="19"/>
<player name="Esteban" edad="21"/>
<player name="Juan" edad="40"/>
<player name="Vicente" edad="45"/>
</rank>
"Procesador" de datos
<?php
$xml = simplexml_load_file("rank.xml");
$count = count($xml->player)-1;
for($i=0; $i<=$count; $i++)
{
$n[$i] = ''.$xml->player[$i][edad].'@@'.$xml->player[$i][name].'';
}
sort($n);
reset($n);
for($a=0; $a<=$count; $a++)
{
$name = str_replace("@@", "", strstr($n[$a], "@@"));
$level = str_replace("@@$name", "", $n[$a]);
echo "El jugador: <b>$name</b> tiene <b>$level</b> años<br/>";
}
?>