Страницы

Поиск по вопросам

четверг, 7 марта 2019 г.

Русские символы XML в Python3

Пишу программу, которая работает с xml файлами. И возникла проблема с записью символов в файл. Функция для записи выглядит следующим образом:
def addPost(name, text): print(name + text) tree = ET.parse('db.xml') root = tree.getroot() post = ET.SubElement(root,'post') post.set('num', str(getCnt())) nameElem = ET.SubElement(post, 'name') nameElem.text = name textElem = ET.SubElement(post, 'text') textElem.text = text tree.write('db.xml')
Проблема заключается в следующем: при записи в файл в нём вместо обычной строки появляются следующие символы:
Работа
Плюс сам скрипт меняет кодировку xml файла с utf-8 на ansii. Как с этим справиться?


Ответ

parser = ET.XMLParser(encoding="utf-8") root = ET.parse("file.xml", parser=parser)
tree.write("out.xml", encoding="utf-8")

Комментариев нет:

Отправить комментарий