Bonjour,
je rencontre un petit problème concernant l'analyse d'un fichier xml avec Sax. Je n'ai pas de soucis quant à la récupération des données souhaitées mais je ne sais pas comment m'y prendre pour intégrer les valeurs récupérées dans une classe pour constituer une liste d'objets. N'étant pas sûr d'être clair dans mes explications, je joins donc un exemple.
Code Analyse fichier xml : 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.sax class handler(xml.sax.ContentHandler): def __init__(self): self.CurrentData = "" def startElement(self, tag, attributes): self.CurrentData = tag if tag == "Test": print("Attrib='" + attributes.getValue("TestId") + "'") def endElement(self, tag): self.CurrentData = "" def characters(self, CurrentData): if self.CurrentData == "Name": print 'Value : ' + CurrentData xml_string='<?xml version="1.0"?>\ <Tests>\ <Test TestId="0001" TestType="CMD">\ <Name>Convert number to string</Name>\ <CommandLine>Examp1.EXE</CommandLine>\ <Input>1</Input>\ <Output>One</Output>\ </Test>\ </Tests>' xml.sax.parseString(xml_string, handler())
Code Liste d'objets : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class Fields(): def __init__(self, attrib, value): self.attrib = attrib self.value = value listFields = [] listFields.append(Fields("attrib_recup", "value_recup"))
Partager