Bonjour,

Je me suis mis à Python il n'y a pas si longtemps donc je suis loin d'en maîtriser la philosophie. Je crois que le coeur de mon problème vient là, je ne pense pas bien "Python".
En fait, je souhaite écrire une classe qui permet de gérer les aspects XML pour écrire/lire un objet en XML sans redéfinir à chaque fois la méthode.
On définit dans chaque classe un genre de dictionnaire qui fait la correspondance entre attribut d'une balise XML et la variable où sera stocké cette valeur, etc ....
Le problème c'est qu'un dictionnaire stocke des valeurs et pas les adresses des variables elles même. Voici un petit exemple de ce que je souhaite faire :

exemple de fichier XML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<db>
<object arg1="2" arg2="56"> ....</object>
<object arg1="4" arg2="89"> ....</object>
</db>
Un genre de pseudo code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
import xml.etree.ElementTree as etree
class MyXML:
   def __init__(self):
      .....
 
   def read(self, dic):
      # <object var1="2" var2="56">
      # selon le dictionnaire :
      # la valeur de var1 (2) doit être stockée dans object1.var1
      # la valeur de var2 (56) doit être stockée dans object1.var2
 
   def write()
      ......
 
class objectA:
   def __init__(self):
      self.var1 = None
      self.var2 = None
 
   def read(self, myxml):
      myxml.read(self,  {"arg1" : self.var1, "arg2" : self.var2})
 
if __name__ == "__main__":
   myxml = MyXML()
   object1 = objectA()
   object1.read()
   print(object1.var1)
   print(object1.var2)
Affichage console :
Je pense que je dois pas utiliser la bonne méthode... J'avoue ne pas savoir comment prendre le problème proprement.

Si quelqu'un a une idée, je suis preneur.

D'avance merci