用vscode打開xml文件編碼是utf-8,xml文件開頭也表明utf-8編碼,且python讀取xml文件沒有影響。一旦在xml中寫入中文就導致亂碼,再次打開xml文件就會報錯:
xml.parsers.expat.ExpatError: not well-formed (invalid token)
找了很多辦法,比如修改vscode的設置,但是都沒有效果。最終發現打開文件時需要表明編碼格式,把:
with open(f'{xmlName}.xml', 'w') as f: DomTree.writexml(f, addindent='', encoding='utf-8')
改成:
with open(f'{xmlName}.xml', 'w', encoding='utf-8') as f: DomTree.writexml(f, addindent='', encoding='utf-8')
問題解決