Module Expr Str Import alias identifier If Call NameLoad NameLoad Str body FunctionDef arguments args NameParam defaults NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Assign AttributeStore NameLoad attr NameLoad Return NameLoad decorator_list Assign NameStore AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam defaults vararg kwarg body If CompareEq AttributeLoad NameLoad attr Str body Expr Call NameLoad BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return Return Call NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list Assign AttributeStore NameLoad attr SubscriptStore AttributeLoad NameLoad attr Index Str NameLoad Assign NameStore AttributeLoad NameLoad attr orelse FunctionDef arguments args defaults vararg kwarg body Pass decorator_list ImportFrom alias
N/A N/A 
Based on Amaury's adaption of Eli Golovinsky's post
http://stackoverflow.com/questions/174890/how-to-output-cdata-using-elementtree

Gooli's original snippet didn't work in Python 2.7

Added by LS:
- support for _serialize_xml having different number of args depending on Python version
- register_namespace is not in __all__

 N/A xml.etree.ElementTree etree N/A N/A hasattr etree _serialize_xml N/A CDATA N/A N/A text N/A None N/A N/A element N/A N/A etree Element ![CDATA[ N/A N/A element text text N/A element N/A N/A _original_serialize_xml N/A etree _serialize_xml _serialize_xml N/A N/A write elem N/A args kwargs N/A N/A N/A N/A elem tag ![CDATA[ N/A N/A N/A write N/A 
<%s%s]]>
 N/A N/A elem tag N/A elem text N/A N/A N/A _original_serialize_xml write elem args kwargs N/A N/A N/A etree _serialize_xml N/A N/A etree _serialize N/A xml _serialize_xml N/A register_namespace N/A etree register_namespace N/A register_namespace N/A N/A N/A args kw N/A N/A N/A xml.etree.ElementTree *