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

  FORUM HardWare.fr
  Programmation
  Perl

  XML::Simple Hash de hash de hash...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XML::Simple Hash de hash de hash...

n°1183702
burgergold
5$? va chez l'diable!
Posté le 24-08-2005 à 20:39:48  profilanswer
 

pour des configurations réseaux, j'ai des hash de hash de hash... sur quelques niveau. Ca ressemble un peu à ceci:
 

Code :
  1. my $ref;
  2. $ref->{add}{advisor}{$id}{$key} = ...;
  3. $ref->{add}{cluster}{$id}{$key} = ...;
  4. $ref->{add}{port}{$id}{$key} = ...;
  5. $ref->{add}{server}{$id}{$key} = ...;
  6. $ref->{delete}{advisor}{$id}{$key} = ...;
  7. $ref->{delete}{cluster}{$id}{$key} = ...;
  8. $ref->{delete}{port}{$id}{$key} = ...;
  9. $ref->{delete}{server}{$id}{$key} = ...;
  10. $ref->{modify}{host}{$key} = ...;
  11. $ref->{modify}{executor}{$key} = ...;
  12. $ref->{modify}{manager}{$key} = ...;
  13. $ref->{modify}{advisor}{$id}{$key} = ...;
  14. $ref->{modify}{cluster}{$id}{$key} = ...;
  15. $ref->{modify}{port}{$id}{$key} = ...;
  16. $ref->{modify}{server}{$id}{$key} = ...;


 
le problème, c'est que le xml pondu avec XML::Simple semble pas être représentatif de la vraie structure. De plus, quand je le fait un XMLin() par la suite, ca me donne pas dutout la meme structure
 
l'option utilisée pour le XMLout():
NoAttr => 1
 
les options utilisées pour le XMLin():
ForceArray => 0
NoAttr => 1
KeyAttr => ''
 
le XMLin() me lit un "hash d'array de hash de hash" à partir du xml au lieu d'un hash de hash de hash de hash :D
 
la trace de Dumper
 


$VAR1 = {
          'add' => [
                   {
                     'port_id1' => {
                                   'port_key' => 'value1',
                                  },
                     'port_id2' => {
                                   'port_key' => 'value2',
                                  },
                     'name' => 'port'
                   },
                   {
                     'server_id1' => {
                                     'server_key' => 'value1',
                                    },
                     'name' => 'server'
                   }
                 ],
...

mood
Publicité
Posté le 24-08-2005 à 20:39:48  profilanswer
 

n°1183803
pospos
Posté le 24-08-2005 à 22:57:14  profilanswer
 

J'ai jamais trop aimé XML::Simple... en fait il veut faire simple mais on se retrouve toujours à bidouiller les options en priant pour que ca passe (mais ca passe jamais et finalement on prend autre chose)
 
Essai peut etre XML:: Dumper
La au moins tu peu etre certain que ca passera dans les deux sens
 
Mais pour des fichiers de config je te conseil plutot YAML que le XML


Message édité par pospos le 24-08-2005 à 22:57:49
n°1184563
burgergold
5$? va chez l'diable!
Posté le 25-08-2005 à 19:16:46  profilanswer
 

il semble pas aimer les hash de hash (puisque le 2e hash est en fait une référence
 
ex: <hashref memory_address="0x2026cc9c">

n°1184566
burgergold
5$? va chez l'diable!
Posté le 25-08-2005 à 19:22:02  profilanswer
 

hum il semble quand meme capable de reconstituer la structure meme à partir d'une autre machine


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

  XML::Simple Hash de hash de hash...

 

Sujets relatifs
[RESOLU]XML et flash -> je trouve pas l'erreur[XML]probleme de parseur avec la DTD
Probleme avec script : XML to PHPrécupérer du contenu XML d'une fonction PHP dans une feuille XSLT ?
Afficher page XML dans browser + ajout xhtmlXML et DTD
Transformateur C++ de XML à la voléePHP/XML Validation qui dure des heures
[XML]-[XSL] Référence interfichiers 
Plus de sujets relatifs à : XML::Simple Hash de hash de hash...


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