tags:

views:

69

answers:

1

I just tried this python 2.5 snippet to write some XML:

xmldoc = xml.dom.minidom.Document()
feed = xmldoc.createElementNS("http://www.w3.org/2005/Atom", "feed")
xmldoc.appendChild(feed)
print xmldoc.toprettyxml()

I expected the output to look like this:

<?xml version="1.0" ?>
<feed xmlns="http://www.w3.org/2005/Atom" />

Instead I got this:

<?xml version="1.0" ?>
<feed />

Apparently the XML namespace is silently being ignored here. What am I doing wrong?

+1  A: 

minidom does not support namespace normalization. The only workaround I'm aware of is explicitely setting the xmlns attribute with

xmldoc.documentElement.setAttribute('xmlns', 'http://www.w3.org/2005/Atom')
phihag