Как прочитать корневой тег XML в python - PullRequest
3 голосов
/ 19 сентября 2011

Мой вопрос вытекает из другого вопроса 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 в текст или что-то в этом роде?Я очень плохо знаком с Python.

Ответы [ 2 ]

5 голосов
/ 19 сентября 2011

Вы должны использовать функцию 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"
3 голосов
/ 19 сентября 2011

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

...