Python Glossary English

все Python 3xml.etree.ElementTreeфункция

xml.etree.ElementTree.fromstring()

разбор

Разбирает XML из строки (str или bytes) и возвращает корневой Element, а не ElementTree. Синоним — ET.XML.

Синтаксис

root = ET.fromstring(text, parser=None)

Текст элемента делится на две части: text — до первого дочернего тега, tail — после закрывающего тега и принадлежит уже ребёнку. Поэтому в <p>Привет <b>мир</b>!</p> восклицательный знак лежит в b.tail, а не в p.text, и наивный обход по .text теряет куски. Пустой элемент даёт text None, а не ''. Недоверенный XML стандартный парсер принимает без защиты от «бомб» вроде billion laughs (расширение сущностей) — для чужих данных берите сторонний defusedxml. ET.XML и ET.fromstring — один и тот же объект.

Примеры

import xml.etree.ElementTree as ET
p = ET.fromstring('<p>Hello <b>world</b>!</p>')
print(repr(p.text), repr(p[0].text), repr(p[0].tail))  # → 'Hello ' 'world' '!'
print(''.join(p.itertext()))  # → Hello world!
print(ET.fromstring('<a/>').text)  # → None
print(ET.XML is ET.fromstring)  # → True

См. также

Частые ошибки

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