J'ai donc un fichier XML que j'essaie de boucler dans l'ordre, selon l'attribut, "ordre".
Voici un exemple: P>
<page> <talentTrees> <tree name="Football" order="2"> <tree name="Baseball" order="0"> <tree name="Frisbee" order="1"> </talentTrees> </page>
6 Réponses :
Cela devrait vous donner ce que vous voulez: $ arbres code> sont maintenant triés par l'attribut de commande. p> p>
Cela échoue lorsque les chiffres sont supérieurs à 9. Il triera comme suit: 1, 100, 2, 245, 300, 4. Au lieu de 1, 2, 4, 100, 245, 300. Utilisez la suggestion de Josh Davis ci-dessous. Ça marche bien.
J'ai écrit une version récursive et étendue qui triera par n'importe quel nombre d'attributs, dans l'ordre suivant:
Pour une référence future, voici quelque chose que vous pouvez utiliser pour interroger les nœuds via XPath et trier le résultat via XPath: SimpleDom . Dans cet exemple, je trie tout
Cela fonctionne bien. Je devais examiner cela un certain temps pour réaliser que SimpleDom doit être téléchargé comme une société incluse.
J'inclus Simple Dom.php mais le système ne réalise toujours pas la méthode XPath triée, pourquoi?
@budamivardi Vous devez utiliser simpplexml_load_string au lieu de SimpleDom_load_string ou simplexml_load_file au lieu de SimpleDom_load_file.
J'ai eu la solution de tri xml à l'aide d'attributs dans PHP. P>
S'il vous plaît visitez ci-dessous URL: - P>
http://ewebsurf.blogspot.com/ 2010/12 / XML-Tri-tri-attributs-php.html p>
Si vous avez de nombreux éléments comme celui-ci , vous pouvez utiliser foreach : p> sortie: p> pour un autre exemple: https://stackoverflow.com/a/44379495/3506219 p> p>