I have a file of XML-data objects. I wrote a ContentHandler to search for elements and return them in a variety of formats. Once I plugged all this into a GUI I discovered a strange problem. The function call tells a parser to parse the same source file, but it stops reading the source file and limits searching to previously found results.
I'm using a ConfigParser object to determine what to match, but I don't think this is the problem. The code uses an xml.sax.handler.ContentHandler subclass, that stores the results in "output" and the filter function is : def list_submissions(argstring,filters={}): sh=SubHandler(argstring,filters) parser = make_parser() parser.setContentHandler(sh) parser.parse(open(submissionpath)) return sh.output running this function over and over causes the problem print len(list_submissions("--dict") # Get all submissions as dictionary objects print len(list_submissions("-mAsmv --dict") # Get all submissions to this this market print len(list_submissions("--dict") # Get all submissions again the results: 152 7 7 The last call should give me 152. I'm not finding a method to reset a parser. I've tried deleting the parser object in the function, deleting the parser and the content handler object in the function, but nothing seems to solve this problem. Has anyone seen this? I'm running Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)], using the standard xml files with this distribution. Thanks, Josh English [EMAIL PROTECTED] http://joshenglish.livejournal.com _______________________________________________ XML-SIG maillist - XML-SIG@python.org http://mail.python.org/mailman/listinfo/xml-sig