все Python 3xml.etree.ElementTreeфункция
xml.etree.ElementTree.Comment()
комментарии и инструкции
Фабрика комментария: возвращает особый элемент, который сериализуется как <!-- … -->. Сама функция служит его тегом.
Синтаксис
c = ET.Comment(text=None)
У элемента-комментария tag — это сама функция ET.Comment, а не строка, поэтому код вида elem.tag.startswith(...) при обходе дерева с комментариями падает AttributeError; проверяйте elem.tag is ET.Comment. Разбор через fromstring() комментарии выбрасывает — в дереве они есть, только если их вставили вручную или через TreeBuilder(insert_comments=True). Текст '--' внутри комментария не экранируется и даёт невалидный XML.
Примеры
import xml.etree.ElementTree as ET
root = ET.Element('cfg')
root.append(ET.Comment(' generated '))
ET.SubElement(root, 'port').text = '80'
print(ET.tostring(root, encoding='unicode'))
# → <cfg><!-- generated --><port>80</port></cfg>
print([e.tag for e in root if isinstance(e.tag, str)]) # → ['port']
print(root[0].tag is ET.Comment) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности