Python Glossary English

Python 3.9+xml.etree.ElementTreeфункция

xml.etree.ElementTree.indent()

сериализация

Расставляет переносы и отступы в дереве на месте, чтобы tostring() и write() дали читаемый XML. Ничего не возвращает.

Синтаксис

ET.indent(tree, space='  ', level=0)

indent() меняет само дерево — дописывает пробельные text и tail — и возвращает None, так что print(ET.indent(root)) напечатает None. После него в text появляются строки из пробелов: если дерево дальше обрабатывается, а не только выводится, это ловушка. Существующие отступы перезаписываются, поэтому повторный вызов безопасен. До 3.9 функции не было — встречаются самодельные рецепты с minidom.

Примеры

import xml.etree.ElementTree as ET
root = ET.fromstring('<a><b><c/></b></a>')
print(ET.indent(root))  # → None
print(ET.tostring(root, encoding='unicode'))
# → <a> /   <b> /     <c /> /   </b> / </a>
print(repr(root.text))  # → '\n  '

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности