|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Étudiant Inscription : septembre 2011 Messages : 75 ![]() |
Bonjour, je me permet de créer un nouveau sujet afin de savoir s'il existe une solution plus simple (et moins "couteuse" qu'un foreach) pour récupérer une information d'un fichier XML.
Pour la petite histoire, il y a une carte de France qui permet à l'utilisateur de sélectionner un département. Le numéro du département est transmis via l'url (liste.php?dep=XX). Je souhaite donc afficher le numéro (ça c'est bon, il est déjà dans l'url) et le nom du département qui correspond. Mon petit bout de code ci-dessous fonctionne pour récupérer le nom, mais je souhaiterais savoir s'il n'y a pas d'autres solutions plus simple et surtout, moins couteuse qu'un foreach (heureusement que je ne souhaite pas recenser toutes les villes, ça serait bien long de parcourir tout le fichier) ? Étant donné que chaque département à un attribut "num" unique, n'est-il pas possible de récupérer directement une information quelconque (que ça soit la valeur du noeud ou un attribut) lié à ce numéro, et ce, sans avoir à parcourir tout les autres départements ? Code qui me permet d'extraire le nom d'un département :
Code du fichier XML :
2. Je souhaite ensuite faire évoluer mon fichier XML : est-il possible de rajouter un attribut "personnalisé" (comme nombre='XXX') et ensuite pouvoir récupérer la valleur "nombre" d'un département précis ? Merci d'avance pour votre aide. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Regardes peut-être du côté de DOMXPath.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Étudiant Inscription : septembre 2011 Messages : 75 ![]() |
Merci du conseil, cette solution m'évite effectivement de parcourir tous les départements.
Par contre, le query retourne un DOMNodelist, et il n'y a pourtant qu'un département (une ligne du XML) qui est retournée. Je n'arrive donc pas à faire un echo pour afficher directement la valeur du noeud. Je suis obligé de mettre un petit foreach (certes peu couteux étant donné qu'il n'y a qu'un département), mais n'est-il pas possible de faire autrement ? Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Étudiant Inscription : septembre 2011 Messages : 75 ![]() |
J'ai finalement trouvé la solution, grâce à item(0).
Merci ABCIWEB pour m'avoir conseillé le XPath Code :
|
||
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Citation:
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com