Как читать корневой XML-тег в python


Мой вопрос следует из другого вопроса stackoverflow: - " как получить корневой узел xml-файла в Python?"

from xml.etree import ElementTree as ET
path = 'C:cool.xml'
et = ET.parse ( path )
root = et.getroot()

Когда я извлекаю и печатаю корневой тег, я получаю: -

<Element 'root' at 0x1234abcd>

Затем я хочу проверить, что корневой тег имеет определенный заголовок, как я могу вытащить только имя тега?

Если я попытаюсь:

if root == "root":
    print 'something'

Это не работает, поэтому я предполагаю, что мне нужно преобразовать 'root' в текст или что-то в этом роде? Я очень новичок в Питоне.

2 3

2 ответа:

root является экземпляром класса Element. Любой такой объект будет иметь атрибут tag. Просто используйте root.tag. Учитывая то, что вы говорите в своем вопросе, это должно привести к строке "root".

Вы должны иметь возможность использовать функцию tag для получения имени узла.

from xml.etree import ElementTree as ET
path = 'C:\cool.xml'
et = ET.parse ( path )
root = et.getroot()

if root.tag == "root":
  print "I'm the root"