Python 3.8+xml.etree.ElementTreeпонятие
xml.etree.ElementTree.C14NWriterTarget
канонизация
Цель XMLParser, которая не строит дерево, а сразу пишет канонический C14N 2.0 через переданную функцию write.
Синтаксис
target = ET.C14NWriterTarget(write, *, with_comments=False, strip_text=False, ...)
Это движок canonicalize(): нужен, когда документ большой и строить дерево ради канонизации накладно, или когда вывод уходит в поток по частям. write получает str, поэтому подходит list.append или метод write текстового файла, а не бинарного. Опции те же, что у canonicalize() (strip_text, with_comments и др.). Вывод появляется только после close() парсера.
Примеры
import xml.etree.ElementTree as ET
out = []
p = ET.XMLParser(target=ET.C14NWriterTarget(out.append))
p.feed('<a z="1" a="2"/>')
p.close()
print(''.join(out)) # → <a a="2" z="1"></a>
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности