Index: Lib/xml/dom/minidom.py =================================================================== --- Lib/xml/dom/minidom.py (revision 66976) +++ Lib/xml/dom/minidom.py (working copy) @@ -812,13 +812,24 @@ _write_data(writer, attrs[a_name].value) writer.write("\"") if self.childNodes: - writer.write(">%s"%(newl)) - for node in self.childNodes: - node.writexml(writer,indent+addindent,addindent,newl) - writer.write("%s%s" % (indent,self.tagName,newl)) + writer.write(">") + if self._issimple(): + writer.write("".join([n.nodeValue for n in self.childNodes])) + else: + writer.write(newl) + for node in self.childNodes: + node.writexml(writer,indent+addindent,addindent,newl) + writer.write(indent) + writer.write("%s" % (self.tagName, newl)) else: writer.write("/>%s"%(newl)) + def _issimple(self): + for node in self.childNodes: + if node.nodeType != Node.TEXT_NODE: + return False + return True + def _get_attributes(self): return NamedNodeMap(self._attrs, self._attrsNS, self)