Page 1 sur 1

Parsage xml

Posté : 29 avr. 2016, 14:41
par fred39
Bonjour,
je vous soumets mon problème.
j'ai une balise xml dans un fichier de ce type:

Code : Tout sélectionner

<attr name="ENTdiciplines"><value>1787$SPORT NAUTIQUE</value><value>1814$BADMINGTON</value></attr>
C'est toujours 4 chiffres $ et le nom de la discipline.
quand je lis la valeur de mon noeud

Code : Tout sélectionner

$attr->nodeValue
ça me renvois la chaine complète : "1787$SPORT NAUTIQUE1814$BADMINGTON"

Comment puis-je récupérer mes deux disciplines SPORT Nautique et Badmington, sachant que les chiffres sont aléatoires?
Je n'ai pas réussi à mettre une expression régulière dans un explode.

Sinon, est-il possible de lire directement la valeur du nœud en ressortant les deux <Value> ?

D'avance merci pour votre aide

Re: Parsage xml

Posté : 29 avr. 2016, 14:48
par or 1

Re: Parsage xml

Posté : 29 avr. 2016, 16:06
par Ryle
Bonjour,

Comme le sous-entend or1, tu peux effectivement utiliser preg_match_all() et une expression régulière :)
(il est pas très bavard ;))
Tu peux utiliser le masque de son exemple ou celui-ci /[^0-9$]*/ s'il répond à ton besoin

Re: [RESOLU] Parsage xml

Posté : 01 mai 2016, 21:46
par fred39
Bonsoir,
merci pour vos réponses. :)
Finalement, j'ai opté pour

Code : Tout sélectionner

array_filter(preg_split("/[0-9]{4}\\$/",$attr->nodeValue))
ça me permet de gérer les cas où il y a 1,2 3 ou plus de valeurs. :D
Merci
Fred