Index: Lib/xml/dom/minidom.py =================================================================== --- Lib/xml/dom/minidom.py (révision 57181) +++ Lib/xml/dom/minidom.py (copie de travail) @@ -798,23 +798,31 @@ # indent = current indentation # addindent = indentation to add to higher levels # newl = newline string - writer.write(indent+"<" + self.tagName) + writer.write(newl+indent+"<" + self.tagName) attrs = self._get_attributes() a_names = attrs.keys() a_names.sort() + onetextnode = False for a_name in a_names: writer.write(" %s=\"" % a_name) _write_data(writer, attrs[a_name].value) writer.write("\"") if self.childNodes: - writer.write(">%s"%(newl)) + writer.write(">") for node in self.childNodes: - node.writexml(writer,indent+addindent,addindent,newl) - writer.write("%s%s" % (indent,self.tagName,newl)) + if(node.nodeType!=node.TEXT_NODE): + node.writexml(writer, (%s%s) % (indent,addindent), addindent, newl) + else: + onetextnode = True + node.writexml(writer,"","","") + if(onetextnode == True): + writer.write("" % (self.tagName)) + else: + writer.write("%s%s" % (newl,indent,self.tagName)) else: - writer.write("/>%s"%(newl)) + writer.write("/>") def _get_attributes(self): return NamedNodeMap(self._attrs, self._attrsNS, self) @@ -1030,7 +1038,7 @@ return newText def writexml(self, writer, indent="", addindent="", newl=""): - _write_data(writer, "%s%s%s"%(indent, self.data, newl)) + _write_data(writer, "%s"%(self.data)) # DOM Level 3 (WD 9 April 2002)