7
votes

Trier XML via Attribut Valeur PHP

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>


0 commentaires

6 Réponses :


-2
votes

Cette page donne de super exemples que je maigre vous pouvez utiliser


0 commentaires

9
votes

Cela devrait vous donner ce que vous voulez: xxx

$ arbres sont maintenant triés par l'attribut de commande.


1 commentaires

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.



1
votes

J'ai écrit une version récursive et étendue qui triera par n'importe quel nombre d'attributs, dans l'ordre suivant: xxx


0 commentaires

17
votes

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 nœuds par des valeurs de l'ordre attribut: xxx


3 commentaires

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.



-2
votes

J'ai eu la solution de tri xml à l'aide d'attributs dans PHP.

S'il vous plaît visitez ci-dessous URL: -

http://ewebsurf.blogspot.com/ 2010/12 / XML-Tri-tri-attributs-php.html


0 commentaires

1
votes

Si vous avez de nombreux éléments comme celui-ci xxx

, vous pouvez utiliser foreach : xxx

sortie: xxx

pour un autre exemple: https://stackoverflow.com/a/44379495/3506219


0 commentaires