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
| 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('E:/python/samplexml/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, node):
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 |
Partager