6

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.

2 Answers 2

10

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"
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks you very much, so simple :), just found it didn't need the () after tag. Thanks again.
4

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".

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.