Index: minidom.py =================================================================== --- minidom.py (revision 83137) +++ minidom.py (working copy) @@ -289,10 +289,11 @@ node = node.parentNode return False -def _write_data(writer, data): +def _write_data(writer, data, isAttrib=False): "Writes datachars to writer." - data = data.replace("&", "&").replace("<", "<") - data = data.replace("\"", """).replace(">", ">") + if isAttrib: + data = data.replace("\r", " ").replace("\n", " ") + data = data.replace("\t", " ") writer.write(data) def _get_elements_by_tagName_helper(parent, name, rc): @@ -802,7 +803,7 @@ for a_name in a_names: writer.write(" %s=\"" % a_name) - _write_data(writer, attrs[a_name].value) + _write_data(writer, attrs[a_name].value, True) writer.write("\"") if self.childNodes: writer.write(">%s"%(newl))