Python Glossary English

все Python 3xml.etree.ElementTreeпонятие

xml.etree.ElementTree.QName

пространства имён

Обёртка полного имени {uri}local: позволяет задать тег или значение атрибута с пространством имён отдельно uri и локальным именем.

Синтаксис

q = ET.QName(text_or_uri, tag=None)

ElementTree хранит имена в нотации Кларка '{uri}local', и QName лишь собирает её из двух частей: в .text лежит та же строка. Пригождается, когда значение атрибута само является именем с префиксом (xsi:type), — тогда при сериализации префикс будет объявлен. Сравнивается QName со строкой по .text, но elem.tag после разбора — обычная str, а не QName.

Примеры

import xml.etree.ElementTree as ET
q = ET.QName('http://ex.com/ns', 'item')
print(q.text, q == '{http://ex.com/ns}item')  # → {http://ex.com/ns}item True
e = ET.Element(q)
print(ET.tostring(e, encoding='unicode'))  # → <ns0:item xmlns:ns0="http://ex.com/ns" />

См. также

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