Python elementTree seems unusable with namespaces. What are my alternatives? BeautifulSoup is pretty rubbish with namespaces too. I don't want to strip them out.
Examples of how a particular python library gets namespaced elements and their collections are all +1.
Edit: Could you provide code to deal with this real world use-case using your library of choice?
How would you go about getting strings 'Frank Malina', '2.6' and a list ['PYTHON', 'XML', 'XML-NAMESPACES']
<?xml version="1.0" encoding="UTF-8"?>
<zs:searchRetrieveResponse
xmlns="http://www.schooletc.co.uk/vocabularies/"
xmlns:zs="http://www.loc.gov/zing/srw/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:lom="http://ltsc.ieee.org/xsd/LOM">
<zs:records>
<zs:record>
<zs:recordData>
<srw_dc:dc xmlns:srw_dc="info:srw/schema/1/dc-schema">
<name>Frank Malina</name>
<dc:title>Processing XML namespaces using Python</dc:title>
<dc:description>How to get contents string from an element,
how to get a collection in a list...</dc:description>
<lom:metaMetadata>
<lom:identifier>
<lom:catalog>Python</lom:catalog>
<lom:entry>2.6</lom:entry>
</lom:identifier>
</lom:metaMetadata>
<lom:classification>
<lom:taxonPath>
<lom:taxon>
<lom:id>PYTHON</lom:id>
</lom:taxon>
</lom:taxonPath>
</lom:classification>
<lom:classification>
<lom:taxonPath>
<lom:taxon>
<lom:id>XML</lom:id>
</lom:taxon>
</lom:taxonPath>
</lom:classification>
<lom:classification>
<lom:taxonPath>
<lom:taxon>
<lom:id>XML-NAMESPACES</lom:id>
</lom:taxon>
</lom:taxonPath>
</lom:classification>
</srw_dc:dc>
</zs:recordData>
</zs:record>
<!-- ... more records ... -->
</zs:records>
</zs:searchRetrieveResponse>