2

You could work from the top of the XML down to the comments node and then loop through the child nodes of the comments node.

I am sure this is what I need to do but I'm not sure how to go about doing this.

I have an XML data structure similar to:

<level>
  <name>Matthias</name>
  <age>23</age>
  <gender>Male</gender>
</level>
...

I am trying to present the name, age and character gender to the user by extracting the data in to Python for data validation, processing and output.

How do I extract only the players name from these XML data in Python?

1

1 Answer 1

4

Assuming that the XML can have multiple <level> elements that you want to loop through and read the details, this is one possible way :

from xml.etree import ElementTree as ET

source = '''<root>
<level>
  <name>Matthias</name>
  <age>23</age>
  <gender>Male</gender>
</level>
<level>
  <name>Foo</name>
  <age>24</age>
  <gender>Male</gender>
</level>
<level>
  <name>Bar</name>
  <age>25</age>
  <gender>Male</gender>
</level>
</root>'''

root = ET.fromstring(source)
levels = root.findall('.//level')
for level in levels:
    name = level.find('name').text
    age = level.find('age').text
    print name, age

output :

Matthias 23
Foo 24
Bar 25
Sign up to request clarification or add additional context in comments.

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.