我正在尝试从一堆xml文件中提取一些数据。现在,问题是所有文件的结构不完全相同,因此,只是迭代子项并提取值很困难。
对于这样的xml文档,python是否有getElementByTag()
方法?我已经看到这样的方法可供C#,C ++用户使用,但无法找到Python的任何内容。
非常感谢任何帮助!
答案 0 :(得分:2)
是的,在包xml.etree中,您可以找到与XML相关的内置函数。 (也适用于python2)
您正在寻找的是findall
。
例如:
import xml.etree.ElementTree as ET
tree = ET.fromstring(some_xml_data)
all_name_elements = tree.findall('*/name')
使用:
In [1]: some_xml_data = "<help><person><name>dean</name></person></help>"
我得到以下内容:
In [10]: tree.findall("*/name")
Out[10]: [<Element 'name' at 0x7ff921edd390>]