Alan Gauld, 10.11.2009 06:53:
> "Christopher Spears" <[email protected]> wrote
>> I need to parse several XML documents into a Python dictionary.  Is
>> there a module that would be particularly good for this?  I heard
>> beginners should start with ElementTree.  However, SAX seems to make a
>> little more sense to me.  

Note that ElementTree provides both a SAX-like interface (look for the
'target' property of parsers) and an incremental parser (iterparse). So the
question is not "ElementTree or SAX?", it's more like "how much time do I
have to implement, run and maintain the code?".


> XML parsers fall into 2 groups. Those that parse the whole structure and
> create a tree of objects - usually accessed like a dictionary, and those
> that parse line by line looking for patterns.

Except that parsing XML is not about lines but about bytes in a stream.


> The former approach is usually slightly slower and more resource hungry

I'd better leave the judgement about this statement to a benchmark.


> If SAX makes sense for you and meets your needs go with it.

I'd change this to:

Unless you really know what you are doing and you have proven in benchmarks
that SAX is substantially faster for the problem at hand, don't use SAX.

Stefan

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to