Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3005 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php] xml vers array

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] xml vers array

n°2176114
Adamaru
geek un jour, geek toujours !
Posté le 17-02-2013 à 15:35:45  profilanswer
 

Bonjours, je cherche à convertir un fichier xml en array
pour se faire j'ai codé la fonction suivante:
 

Code :
  1. <?php
  2.     function xml2array($xml,$lastParent = null) {
  3.  $return = null;
  4.  foreach ($xml->children() as $parent => $child) {
  5.   //si l'item n'est pas présent dans le buffer de sortie: on crée un [$parent] = valeur
  6.   if (!isset($return[$parent])) $return[$parent] = xml2array($child,$parent)?xml2array($child,$parent):"$child";
  7.   //si l'item existe deja, on transforme en array type: [$parent][] = valeur
  8.   elseif (is_array($return[$parent])) $return[$parent][] = xml2array($child,$parent)?xml2array($child,$parent):"$child";
  9.  }
  10.  return $return;
  11. }
  12.     $xml = file_get_contents('./stats.xml');
  13.     $xml = new SimpleXMLElement($xml);
  14.     print_r(xml2array($xml));
  15. ?>


 
(la variable $lastParent) ne sers pas pour le moment mais ca viendra je pense)
 
mon soucis c'est que je dois gerer plusieurs items qui portent le meme nom, genre dans le fichier xml j'ai des:
<item>valeur</item>
<item>encore un truc</item>
 
etc
le fichier est ici au besoin: http://steamcommunity.com/id/Chr0n [...] /?schema=1
pour gerer ce soucis je veu faire en sorte que si l'item n'existe pas dans le tableau: on déclare l'item et sa valeur
si il existe deja: on bascule l'ancien item dans un sous tableau (c'est la que ca fail) et on ajoute la suite apres
genre: $return[$parent][] = "$child" au lieu de $return[$parent] = "$child";
 
du coup je suis coincé et je me retrouve avec des:  
 

Citation :


Array
(
    [steamID64] => 76561198008199065
    [stats] => Array
        (
            [item] => Array
                (
                    [APIName] => kills
                    [value] => 189036
                    [displayName] => Kills
                    [0] => Array
                        (
                            [APIName] => damagehealed
                            [value] => 82694
                            [displayName] => Damage Healed
                        )
 
                    [1] => Array
                        (
                            [APIName] => weldingpoints
                            [value] => 970214
                            [displayName] => Welding Points
                        )
 
                    [2] => Array
                        (
                            [APIName] => shotgundamage
                            [value] => 11968633
                            [displayName] => Shotgun Damage
                        )
 


 
hors la premiere partie:                    
[APIName] => kills
[value] => 189036
[displayName] => Kills
 
devrais etre dans $results['stats']['item'][0]
hors la elle est dans $results['stats']['item']
 
je cherche à corriger ca, quelqu'un pourais m'aider ?
 
d'avance merci.

mood
Publicité
Posté le 17-02-2013 à 15:35:45  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php] xml vers array

 

Sujets relatifs
lien vers un fichier d'une partition sur un serveurlien vers un document dans formulaire
[c][Transfer de donnees d´un tableau bidimensionel vers unidimensione]Fichier texte trop volumineux/ extraire certaines données vers excel
ODBC FETCH ARRAYClass => comment manipuler un array ?
Tableau python vers array php ?SimpleXML Object vers Array ?
Pointeur vers une variable (record) de type : array of array of ...[C++] Comment copier les membres d'un array vector vers une autre...
Plus de sujets relatifs à : [php] xml vers array


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR