все Python 3xml.etree.ElementTreeфункция
xml.etree.ElementTree.XMLID()
разбор
Разбирает XML из строки и возвращает пару: корень и словарь «значение атрибута id → элемент».
Синтаксис
root, ids = ET.XMLID(text, parser=None)
Учитывается только атрибут с буквальным именем id — xml:id или ID не попадут. При повторяющихся id в словаре остаётся последний элемент, без предупреждения. Возвращается кортеж, поэтому root = ET.XMLID(s) даёт кортеж, а не элемент — распаковывайте.
Примеры
import xml.etree.ElementTree as ET
root, ids = ET.XMLID('<a><b id="x">1</b><c id="x">2</c><d ID="y"/></a>')
print(list(ids), ids['x'].tag) # → ['x'] c
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности