Essayez d'analyseur XML à partir du paquet xml.sax
dans la bibliothèque standard.
from xml.sax import parse
from xml.sax.handler import ContentHandler
from sys import argv
class Handler(ContentHandler):
def startElementNS(self, name, qname, attrs):
self.startElement(name, attrs)
def endElementNs(self, name, qname):
self.endElement(name, attrs)
def startElement(self, name, qname, attrs):
... do whatever you like on tag start...
def characters(self, content):
... on tag content ...
def endElement(self, name):
... on tag closing ...
if __name__ == "__main__":
parse(argv[1], Handler())
Ici, je suppose que argv [1] est un chemin vers le fichier que vous voulez analyser. (Le premier argument de la fonction parse() est filename ou stream). Il est facile de le convertir en boucle: saisissez toutes les informations dont vous avez besoin dans les méthodes ci-dessus et insérez-les dans une liste ou une pile. Itérer dessus une fois que vous avez fini d'analyser.
S'il vous plaît montrer certaines des choses que vous avez essayé. – Tomalak
J'ai essayé http://github.com/joestump/python-simplexml/blob/master/simplexml.py mais s'il n'y a qu'un seul item il ne va pas itérer juste finit dans une boucle sans fin – Mike