все Python 3xml.etree.ElementTreeпонятие
xml.etree.ElementTree.ElementTree
дерево и элементы
Обёртка над всем документом: держит корень и умеет записать его в файл методом write() с кодировкой и XML-декларацией.
Синтаксис
tree = ET.ElementTree(element=None, file=None)
tree.write(file, encoding='us-ascii', xml_declaration=None)
Element описывает узел, ElementTree — документ; запись в файл есть только у второго. write() без encoding пишет US-ASCII: кириллица уйдёт ссылками П… — указывайте encoding='utf-8' и xml_declaration=True, если декларация нужна. Методы find/findall/iter у ElementTree делегируют корню, но путь вида '/x' от дерева даёт FutureWarning. Модуль и класс зовутся одинаково — не путайте ET.ElementTree с модулем.
Примеры
import xml.etree.ElementTree as ET
root = ET.Element('note')
root.text = 'Ж'
tree = ET.ElementTree(root)
tree.write('a.xml')
print(open('a.xml', 'rb').read()) # → b'<note>Ж</note>'
tree.write('u.xml', encoding='utf-8', xml_declaration=True)
print(open('u.xml', encoding='utf-8').read())
# → <?xml version='1.0' encoding='utf-8'?> / <note>Ж</note>
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности