high level, fast XML package for Python?

Paul Boddie paul at boddie.org.uk
Tue Sep 19 18:37:48 EDT 2006


Martin v. Löwis wrote:
>
> It seems that everybody is proposing libraries that use in-memory
> representations. There is a standard xml package for Python, it's
> called "xml" (and comes with the standard library). It contains a
> SAX interface, xml.sax, which can parse files incrementally.

What about xml.dom.pulldom? It quite possibly resembles ElementTree's
iterparse, or at least promotes event-style handling of XML information
using some kind of mainloop...

import xml.dom.pulldom

for etype, node in xml.dom.pulldom.parseString(s):
    if etype == xml.dom.pulldom.START_ELEMENT:
        print node.nodeName, node.attributes

...instead of callbacks (as happens with SAX):

import xml.sax

class CH(xml.sax.ContentHandler):
    def startElement(self, name, attrs):
        print name, attrs

xml.sax.parseString(s, CH())

Paul




More information about the Python-list mailing list