Страницы

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

воскресенье, 12 января 2020 г.

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

#python #xml #кодировка #строки #python_3x


Пишу программу, которая работает с 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. Как с этим справиться?
    


Ответы

Ответ 1



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

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

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