xml - How to sort SimpleXMLElement on PHP -
i want know how can sort simple xml elements php. yes, found threads address same subject — couldn't solve problem.
the xml want sort is:
<?xml version="1.0" encoding="utf-8"?> <cursos> <curso> <id>drw</id> <nome>design responsivo</nome> <categoria>web</categoria> <inicio>30/02/2013</inicio> <periodo>sábados de manhã</periodo> <cargahoraria>40h</cargahoraria> <objetivos></objetivos> </curso> <curso> <id>msq</id> <nome>mysql</nome> <categoria>banco de dados</categoria> <inicio>30/03/2013</inicio> <periodo>sábados de manhã</periodo> <cargahoraria>20h</cargahoraria> <objetivos></objetivos> </curso> <curso> <id>mby</id> <nome>iniciação à informática</nome> <categoria>iniciantes e usuários av.</categoria> <inicio>30/04/2013</inicio> <periodo>matutino 1</periodo> <cargahoraria>80h</cargahoraria> <objetivos></objetivos> </curso> <curso> <id>fcs</id> <nome>desenvolvendo em c#</nome> <categoria>desenvolvimento</categoria> <inicio>14/04/2013</inicio> <periodo>domingo</periodo> <cargahoraria>60h</cargahoraria> <objetivos></objetivos> </curso> <curso> <id>may</id> <nome>modelagem em maya</nome> <categoria>artes gráficas</categoria> <inicio>13/04/2013</inicio> <periodo>sábado 08h:00-13h:00</periodo> <cargahoraria>60h</cargahoraria> <objetivos></objetivos> </curso> </cursos>
i found this , this solution, logic apply on multidimensional xml array not me. can me?
thanks in advance.
there's no real easy way sort using simplexml; have create array elements, sort them , reconstruct xml:
$d = simplexml_load_string($xml); // turn array $e = array(); foreach ($d->curso $curso) { $e[] = $curso; } // sort array usort($e, function($a, $b) { return $a->cargahoraria - $b->cargahoraria; }); // put echo '<cursos>'; foreach ($e $node) { echo $node->savexml(); } echo '</cursos>';
Comments
Post a Comment