parser un fichier xml avec xml.sax et la méthode "feed"
Bonjour,
J'essaie de mettre en place un parser xml en python.
J'y arrive avec un code de ce genre:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| from xml.sax.handler import ContentHandler
import xml.sax
import sys
class compteurElements(ContentHandler):
def __init__(self):
self.elem={}
def startElement(self,name,attr):
if not self.elem.has_key(name):
self.elem= 0
self.elem+= 1
def characters(self,ch):
print ch
def endElement (self, name):
print name + ":" + str(self.elem)
parser = xml.sax.make_parser()
handler = compteurElements()
parser.setContentHandler(handler)
parser.parse(sys.argv[1]) |
Maintenant quand j'essaie d'utiliser une classe de type xml.sax.xmlreader.IncrementalParser pour utiliser la méthode feed. Je n'y arrive plus. Je fournie à la méthode feed une string qui correspond à une ligne d'un fichier xml mais ça ne fonctionne pas.
Savez-vous comment réaliser le parse avec une méthode feed ?
D'avance merci.
louisonb