Bonjour à tous,
J'ai un fichier xml construit de cette manière:
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
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 <?xml version="1.0" encoding="ISO-8859-1"?> <File> <Version>48829212</Version> <SenderNr>50054512552</SenderNr> <SenderName>SenderName</SenderName> <ReceiverNr>0526206</ReceiverNr> <ReceiverName>ReceiverName</ReceiverName> <CreationDateTime>20150812</CreationDateTime> <StartDate>20151114</StartDate> <EndDate>20151120</EndDate> <Sales> <Sale> <Id>485654256</Id> <Name>Name</Name> <Firstname>Firstname</Firstname> <SalesID>01</SalesID> <Location1>Tae</Location1> <Location2>5515</Location2> <Birthdate>20150431</Birthdate> <NameSale>Jean</NameSale> <RegNr>2466822552004</RegNr> <Products> <Product> <ProductId>5865455</ProductId> <ProductIdHouse>05525452</ProductIdHouse> <Speciality>1</Speciality> <Description>Product</Description> <TabletUnidose>1</TabletUnidose> <Start>20120110</Start> <Administrations> <Administration> <Quantity>0.50</Quantity> <AdministrationDate>20151114</AdministrationDate> <AdministrationHour>0800</AdministrationHour> </Administration> <Administration> <Quantity>0.50</Quantity> <AdministrationDate>20151115</AdministrationDate> <AdministrationHour>0800</AdministrationHour> </Administration> <Administration> <Quantity>0.50</Quantity> <AdministrationDate>20151116</AdministrationDate> <AdministrationHour>0800</AdministrationHour> </Administration> </Administrations> </Product> <Product> <ProductId>78985</ProductId> <ProductIdHouse>588585</ProductIdHouse> <Speciality>1</Speciality> <Description>Product</Description> <TabletUnidose>1</TabletUnidose> <Start>20110513</Start> <Administrations> <Administration> <Quantity>1.00</Quantity> <AdministrationDate>20151114</AdministrationDate> <AdministrationHour>2000</AdministrationHour> </Administration> <Administration> <Quantity>1.00</Quantity> <AdministrationDate>20151115</AdministrationDate> <AdministrationHour>2000</AdministrationHour> </Administration> </Administrations> </Product> </Products> </Sale> </Sales> </File>
J'arrive à récupérer les Sales,
grâce à ce code:
Est ce qu'il y a possibilité d'optimiser ce 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 doc = minidom.parse('sales.xml') root = doc.documentElement current = root.firstChild for element in root.getElementsByTagName('Sale') : sale= Sales.Sales(element.childNodes[1].childNodes[0].nodeValue, element.childNodes[2].childNodes[0].nodeValue, element.childNodes[3].childNodes[0].nodeValue, element.childNodes[6].childNodes[0].nodeValue, element.childNodes[7].childNodes[0].nodeValue, element.childNodes[8].childNodes[0].nodeValue,None) try: sale.setId(element.childNodes[0].childNodes[0].nodeValue) except: print 'error pas d id'
Et ma deuxième question est comment je peux récupérer les éléments du Product, ainsi que les informations concernant les Administrations du Product ?
J'ai essayé cette méthode
Mais alors je ne sais pas quels produits est lié à quelles Sale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for elt in root.getElementsByTagName('Product') : print elt.childNodes[0].childNodes[0].nodeValue
D'avance Merci,
Partager