使用Python中的XML查找和提取数据

时间:2016-01-04 11:21:15

标签: python xml elementtree

  

您可以从XML的顶部向注释节点工作,然后循环遍历注释节点的子节点。

我确信这是我需要做的,但我不知道该怎么做。

我有一个类似于:

的XML数据结构
<level>
  <name>Matthias</name>
  <age>23</age>
  <gender>Male</gender>
</level>
...

我试图通过将数据提取到Python中进行数据验证,处理和输出来向用户显示名称,年龄和性格性别。

如何在Python中仅从这些XML数据中提取玩家名称?

1 个答案:

答案 0 :(得分:1)

假设XML可以包含多个<level>元素,并且要读取详细信息,这是一种可能的方法:

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

输出

Matthias 23
Foo 24
Bar 25