[issue18304] ElementTree gets awkward to use if there is an xmlns

2013-06-25 Thread Bryce Nesbitt

New submission from Bryce Nesbitt:

ElementTree offers a wonderful and easy API for parsing XML... but if there is 
a namespace involved it suddenly gets ugly.  This is a proposal to fix that.  
First an example:

--
!/usr/bin/python
# Demonstrate awkward behavior of namespaces in ElementTree
import xml.etree.cElementTree as ET

xml_sample_one = """\





"""
root = ET.fromstring(xml_sample_one)
for child in root.iter('thing'):
print child.tag

xml_sample_two = """\

http://josm.openstreetmap.de/tagging-preset-1.0";>



"""
root = ET.fromstring(xml_sample_two)
for child in 
root.iter('{http://josm.openstreetmap.de/tagging-preset-1.0}thing'):
print child.tag
--

Because of the namespace in the 2nd example, a {namespace} name keeps 
{namespace} getting {namespace} in {namespace} {namespace} the way.

Online there are dozens of question on how to deal with this, for example: 
http://stackoverflow.com/questions/11226247/python-ignore-xmlns-in-elementtree-elementtree

With wonderfully syntactic solutions like 'item.tag.split("}")[1][0:]'

-
How about if I could set any root to have an array of namespaces to suppress:

root = ET.fromstring(xml_sample_two)
root.xmlns_at_root.append('{namespace}')

Or even just a boolean that says I'll take all my namespaces without 
qualification?

--
components: Extension Modules
messages: 191894
nosy: brycenesbitt
priority: normal
severity: normal
status: open
title: ElementTree gets awkward to use if there is an xmlns
type: enhancement
versions: Python 2.7

___
Python tracker 
<http://bugs.python.org/issue18304>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue18304] ElementTree gets awkward to use if there is an xmlns

2013-08-11 Thread Bryce Nesbitt

Bryce Nesbitt added the comment:

The mere existence of popular solutions like
'item.tag.split("}")[1][0:]' argues something is wrong.  What could
lmxl do to make this cleaner (even if the ticket proposal is junk).

--
title: ElementTree -- provide a way to ignore namespace in tags and seaches -> 
ElementTree gets awkward to use if there is an xmlns

___
Python tracker 
<http://bugs.python.org/issue18304>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com