Bonjour,

J'essaie de mettre en place un parser xml en python.

J'y arrive avec un code de ce genre:

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
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