I'm batch-converting a lot of XML files, changing their character encodings to UTF-8:
with open(source_filename, "rb") as source:
tree = etree.parse(source)
with open(destination_filename, "wb") as destination:
tree.write(destination, encoding="UTF-8", xml_declaration=True)
Unfortunately, it is destroying my CDATA
sections and just escaping them instead.
Source:
<d><![CDATA[áìà??àù??éú ?ì?é áèà?ù? é??''? e?ù?à?ìèè <small><small>(ùí ?? è?)</small></small>
Destination:
<d>????????? ??? ????? ???''? ??????? <small><small>(?? ?? ??)</small></small>
Is there a setting which I can set which will tell it to leave my CDATA sections alone? I'm mainly using LXML to change the character encoding and to write the XML header properly.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…