Xml – 通过Python的标签查找Element

Xml - Find Element By tag using Python

本问题已经有最佳答案,请猛点这里访问。

我正在尝试从一堆XML文件中提取一些数据。现在,问题是所有文件的结构都不完全相同,因此,仅仅迭代子文件并提取值是很困难的。

对于这种XML文档,是否有针对python的getElementByTag()方法?我已经看到,这样的方法对于C++、C++用户来说是可用的,但是对于Python却找不到任何方法。

任何帮助都将不胜感激!


是的,在包xml.etree中可以找到与xml相关的内置函数。(也适用于python2)

你要找的是findall

例如:

1
2
3
import xml.etree.ElementTree as ET
tree = ET.fromstring(some_xml_data)
all_name_elements = tree.findall('*/name')

用:

1
In [1]: some_xml_data ="<help><person><name>dean</name></person></help>"

我得到以下信息:

1
2
In [10]: tree.findall("*/name")
Out[10]: [<Element 'name' at 0x7ff921edd390>]