On 5/7/2014 1:39 PM, Alan Gauld wrote:
On 07/05/14 17:56, Stefan Behnel wrote:
Alan Gauld, 07.05.2014 18:11:

and ElementTree (aka etree). The documenation gives examples of both.
sax
is easiest and fastest for simple XML in big files ...

I wouldn't say that SAX qualifies as "easiest". Sure, if the task is
something like "count number of abc tags" or "find tag xyz and get an
attribute value from it", then SAX is relatively easy and also quite
fast.

That's pretty much what I said. simple task, big file. sax is easy.

For anything else use etree.

BTW, ElementTree also has a SAX-like parsing mode, but comes with a
simpler
interface and saner parser configuration defaults.

My experience was different. Etree is powerful but for simple
tasks I just found sax easier to grok. (And most of my XML parsing
is limited to simple extraction of a field or two.)

If I understand this task correctly it seems like a good application for SAX. As a state machine it could have a mere two states, assuming we aren't troubled about the parent nodes of Country tags.

Using callbacks is a trickier form of programming than ElementTree calls for, though.

In my own personal case, I partly prefer xml.sax simply because it ignores namespaces, a nice benefit in my cases. I wish I could make ElementTree do that.

--
Neil Cerutti

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to