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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| class Personne:
nom = None
prenom = None
adresse = Adresse()
def __init__(self):
pass
class Adresse:
ville = None
def __init__(self):
pass
class TransformXmlToPersonnes:
__currentNode__ = None
__personneList__ = None
def __init__(self):
self.readXml()
def readXml(self):
from xml.dom.minidom import parse
self.doc = parse('personnes.xml')
def getRootElement(self):
if self.__currentNode__ == None:
self.__currentNode__ = self.doc.documentElement
return self.__currentNode__
def getPersonnes(self):
if self.__personneList__ != None:
return
self.__personneList__ = []
for personnes in self.getRootElement().getElementsByTagName("personne"):
if personnes.nodeType == personnes.ELEMENT_NODE:
p = Personne()
try:
p.nom = self.getText(personnes.getElementsByTagName("nom")[0])
p.prenom = self.getText(personnes.getElementsByTagName("prenom")[0])
p.adresse = self.getAdresse(personnes.getElementsByTagName("adresse")[0])
except:
print 'Un des TAGS suivant est manquents : nom, prenom, adresse'
self.__personneList__.append(p)
return self.__personneList__
def getAdresse(self, none):
adress = Adresse()
try:
adress.ville = self.getText(node.getElementsByTagName("ville")[0])
except:
adress.ville = None
return adress
def getText(self, node):
return node.childNodes[0].nodeValue
if __name__ == "__main__":
x=TransformXmlToPersonnes()
print x.getPersonnes()[0].prenom
print x.getPersonnes()[1].prenom |
Partager