Hallo, ik ben ben bezig met een Python scriptje dat met behulp van Xpath (Element tree) data uit een XML bestand haalt.
Onderstaand is een voorbeeld. Ik heb helaas geen invloed op hoe het XML bestand wordt aangeleverd. Het bestand kan evt. wel gewijzigd worden (b.v. parsen en zaken vervangen).
Mijn XML bestand ziet er ongeveer zo uit:
De values van boek is het aantal boeken dat aanwezig is.
Hoe kan ik nu alle boeken met een prijs lager dan 40 euro selecteren?
geeft TypeError: 'NoneType' object is not iterable
OF is het niet mogelijk om attributes met een waarde groter/kleiner dan te selecteren?
Onderstaand is een voorbeeld. Ik heb helaas geen invloed op hoe het XML bestand wordt aangeleverd. Het bestand kan evt. wel gewijzigd worden (b.v. parsen en zaken vervangen).
Mijn XML bestand ziet er ongeveer zo uit:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
| <OBJECTS> <WINKEL vestiging="markt"> <KAST id="001" verdieping="1" thema="spanning"> <PLANK id="01" draagkracht="100000"> <BOEK sku="9456101" titel="Zomaar Een boek" gewicht="400" prijs="30">2</BOEK> <BOEK sku="9674152" titel="Drukwerk" gewicht="750" prijs="45">3</BOEK> </PLANK> </KAST> </WINKEL> <WINKEL vestiging="winkelcentrum"> </WINKEL> </OBJECTS> |
De values van boek is het aantal boeken dat aanwezig is.
Hoe kan ik nu alle boeken met een prijs lager dan 40 euro selecteren?
Python:
1
| for BOEK in root.findall("./WINKEL/KAST/PLANK/BOEK[@prijs<'40']"): |
geeft TypeError: 'NoneType' object is not iterable
OF is het niet mogelijk om attributes met een waarde groter/kleiner dan te selecteren?
[img]error.jpg[/img]