相关文章推荐
小胡子的薯片  ·  C# ...·  1 年前    · 

python 'xml.etree.elementtree.element' object has no attribute 'getchildren'

在使用 Python 解析 XML 文件时,如果遇到这个错误,表示你正在使用的是旧版本的 xml.etree.ElementTree 模块,在旧版本中是没有 getchildren() 这个方法的。

在新版本的 xml.etree.ElementTree 中,可以使用 findall() 方法来获取元素的子节点,例如:

root = xml.etree.ElementTree.parse('example.xml').getroot()
for child in root:
    print(child.tag)

或者,你也可以使用 iter() 方法来遍历所有子节点:

root = xml.etree.ElementTree.parse('example.xml').getroot()
for child in root.iter():
    print(child.tag)

请注意,在 Python 3.9 之前的版本中,xml.etree.ElementTree 模块没有任何内置的文档型实体解析器,所以在解析文档型实体的 XML 文件时可能会出现问题。在这种情况下,建议使用 Python 3.9 中的 xml.etree.ElementTree 模块的新版本,或者使用 xml.dom 模块。

  •