Merged revisions 78125 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78125 | antoine.pitrou | 2010-02-09 18:08:05 +0100 (mar., 09 févr. 2010) | 7 lines

  Issue #2746: Don't escape ampersands and angle brackets ("&", "<", ">")
  in XML processing instructions and comments.  These raw characters are
  allowed by the XML specification, and are necessary when outputting e.g.
  PHP code in a processing instruction.  Patch by Neil Muller.
........
diff --git a/Lib/xml/etree/ElementTree.py b/Lib/xml/etree/ElementTree.py
index c47573e..2663b33 100644
--- a/Lib/xml/etree/ElementTree.py
+++ b/Lib/xml/etree/ElementTree.py
@@ -662,9 +662,9 @@
         # write XML to file
         tag = node.tag
         if tag is Comment:
-            file.write(b"<!-- " + _encode_cdata(node.text, encoding) + b" -->")
+            file.write(_encode("<!-- %s -->" % node.text, encoding))
         elif tag is ProcessingInstruction:
-            file.write(b"<?" + _encode_cdata(node.text, encoding) + b"?>")
+            file.write(_encode("<?%s?>" % node.text, encoding))
         else:
             items = list(node.items())
             xmlns_items = [] # new namespaces in this scope