user788462
user788462

Reputation: 1145

How to read root XML tag in python

My question follows on from another stackoverflow question:- "How to get the root node of an xml file in Python?"

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

When I extract and print the root tag, I receive:-

<Element 'root' at 0x1234abcd>

I then want to check that the root tag has a certain title, how do I pull out just the tag name?

If I try:

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

it doesn't work, so I assume I need to convert 'root' to text or something like that? I am very new to Python.

Upvotes: 6

Views: 7685

Answers (2)

Michael Anderson
Michael Anderson

Reputation: 73480

You should be able to use the tag function to get the name of the node.

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"

Upvotes: 10

John Machin
John Machin

Reputation: 82934

root is an instance of the Element class. Any such object will have a tag attribute. Just use root.tag. Given what you say in your question, this should produce the string "root".

Upvotes: 4

Related Questions