Php et simpleXML
Résolu/Fermé
A voir également:
- Php et simpleXML
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Echo image php ✓ - Forum PHP
- $This php - Forum PHP
5 réponses
imw
Messages postés
233
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
42
22 sept. 2009 à 07:44
22 sept. 2009 à 07:44
Salut,
Si tu ne veux ou ne peux pas utiliser simpleXML, tu peux utiliser les expressions régulières.
Si tu as plusieurs fois des params avec name et value dans ton XML, il te faut isoler le bloc config pour ne récupérer que ceux du config (avec split, explode ...)
Nico
Si tu ne veux ou ne peux pas utiliser simpleXML, tu peux utiliser les expressions régulières.
$values = array(); // tableau associatif avec les clé=name et valeurs =value $xml = 'le contenu du fichier xml'; if( preg_match_all('#param name="(.*?)" value="(.*?)"#', $xml, $out ) ) { foreach( $out[1] as $k=>$v) $values[ $out[1][$k] ] = $out[2][$k]; } print_r( $values); tu devrai avoir dans $values : 'width'=>280 'height'=>200 ...
Si tu as plusieurs fois des params avec name et value dans ton XML, il te faut isoler le bloc config pour ne récupérer que ceux du config (avec split, explode ...)
Nico
imw
Messages postés
233
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
42
22 sept. 2009 à 11:08
22 sept. 2009 à 11:08
fait juste un $values[ 'bgcolor1' ]
Merci Nico!
En fait je n'ai rien contre simplexml, c'est juste qu'apres mon simplexml_load_file, je n'arrive pas a recuperer les valeurs de cete maniere $xml->config->color, d'habitude sur des fichiers xml avec des balises ca marche...
Pour ton alternative en expressions régulièeres, elle m'interesse aussi, car plus compatible (php4 etc...)
J'ai donc testé
je n'ai que 'Array()' qui s'affiche.
je ne comprends pas bien ce que je dois mettre dans l'array de la premiere ligne , dois je la laisser telle qu'elle?
j'ai bien placé le path de mon fichier xml dans $xml
je ne comprends pas bien $k=>$v car $v n'apparait nulle part ailleur
merci pour ton aide précieuse
En fait je n'ai rien contre simplexml, c'est juste qu'apres mon simplexml_load_file, je n'arrive pas a recuperer les valeurs de cete maniere $xml->config->color, d'habitude sur des fichiers xml avec des balises ca marche...
Pour ton alternative en expressions régulièeres, elle m'interesse aussi, car plus compatible (php4 etc...)
J'ai donc testé
je n'ai que 'Array()' qui s'affiche.
je ne comprends pas bien ce que je dois mettre dans l'array de la premiere ligne , dois je la laisser telle qu'elle?
j'ai bien placé le path de mon fichier xml dans $xml
je ne comprends pas bien $k=>$v car $v n'apparait nulle part ailleur
merci pour ton aide précieuse
imw
Messages postés
233
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
8 septembre 2011
42
22 sept. 2009 à 09:49
22 sept. 2009 à 09:49
Le array du début, tu le laisse vide ... c'est normal on le rempli après.
pour le xml, ce n'est pas le nom du fichier, mais son contenu ...
Le plus simple : $xml = file_get_contents( $urlxml );
Pour le coup du $k=>$v c'est la syntaxe pour récupérer les clés et valeurs d'un tableau.
En effet, je n'utilise pas le $v (même si je pouvais), mais on ne peux pas récupérer la clé ($k) sans récupérer aussi la valeur ($v)
https://www.php.net/manual/fr/control-structures.foreach.php
pour le xml, ce n'est pas le nom du fichier, mais son contenu ...
Le plus simple : $xml = file_get_contents( $urlxml );
Pour le coup du $k=>$v c'est la syntaxe pour récupérer les clés et valeurs d'un tableau.
En effet, je n'utilise pas le $v (même si je pouvais), mais on ne peux pas récupérer la clé ($k) sans récupérer aussi la valeur ($v)
https://www.php.net/manual/fr/control-structures.foreach.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question