все Python 3xml.etree.ElementTreeфункция
xml.etree.ElementTree.tostringlist()
сериализация
Как tostring(), но возвращает список фрагментов, склейка которых равна результату tostring(). Удобно для потоковой записи.
Синтаксис
parts = ET.tostringlist(element, encoding='us-ascii', method='xml', *, xml_declaration=None, default_namespace=None, short_empty_elements=True)
Разбиение на фрагменты ничем не гарантировано: их число и границы — деталь реализации, и разбирать список по индексам нельзя, гарантия одна — b''.join(...) == tostring(...). Тип фрагментов тот же, что у tostring(): bytes по умолчанию, str при encoding='unicode', поэтому склеивать нужно b''.join или ''.join соответственно. В обычном коде достаточно tostring().
Примеры
import xml.etree.ElementTree as ET
e = ET.fromstring('<a><b>1</b></a>')
parts = ET.tostringlist(e)
print(b''.join(parts) == ET.tostring(e)) # → True
print(''.join(ET.tostringlist(e, encoding='unicode'))) # → <a><b>1</b></a>
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности