Bonjour à tous!

Comme indiqué dans le titre, j'aimerais trier un xml en fonction d'un champs. Voici mon xml (que je récupère avec une url) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<Election>
  <Tours>
    <Tour>
      <NumTour>1</NumTour>
        <Resultats>
         <Candidats>
          <Candidat>
            <NumPanneauCand>1</NumPanneauCand>
            <NomPsn>HORTALA</NomPsn>
            <NbVoix>1235187</NbVoix>
            <RapportInscrit>2,53</RapportInscrit>
          </Candidat>
          <Candidat>
            <NumPanneauCand>2</NumPanneauCand>
            <NomPsn>MIREPOIX</NomPsn>
            <NbVoix>6938479</NbVoix>
            <RapportInscrit>14,19</RapportInscrit>
          </Candidat>
          <Candidat>
            [...]
J'aimerais trier chaque section <Candidat> en fonction de la valeur de<NbVoix>.
Ici, la première section <Candidat> devrait se retrouver sous la seconde car 6938479>1235187

J'ai une piste avec ce sujet : https://www.developpez.net/forums/d5...xml-trier-xml/

Dont voici le code inspiré :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function sort_by_score($candidat1, $candidat2) {
    if ($candidat1->NbVoix == $candidat2->NbVoix) {
        return 0;
    } else {
        return ($candidat1->NbVoix < $candidat2->NbVoix) ? -1 : 1;
    }
}
 
$xml = simplexml_load_file('url');
$NbrVoix = $xml->xpath('//Candidat');
usort($NbrVoix, 'sort_by_score');
foreach ($NbrVoix as $p) {
    echo $p . '<br />';
}
Mais ça n'a pas l'air de marcher...
Merci par avance pour vos suggestions !

Bonne journée.