使用 ElementTree 在 Python 中处理 XML

2023-12-08

我对 ElementTree.iter() 有疑问。

所以我在这个链接中尝试了这个例子:http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python-with-elementtree/

所以这是我尝试过的:

import elementtree.ElementTree as ET
tree = ET.parse('XML_file.xml')
root = tree.getroot()
for elem in tree.iter():
    print elem.tag, elem.attrib

我收到此错误 AttributeError: ElementTree instance has no attribute 'iter'

附加信息:我的Python版本是2.4,我单独安装了elementtree。我提供的链接中的其他示例在我安装的 Python 中运行。只有 ElementTree.iter() 不起作用。预先感谢您的所有帮助。干杯!


在你的情况下,你应该更换.iter() by .getiterator(),你可能应该调用它root元素,不适用于树(但我不确定,因为我手头没有 Python 2.4 和模块)。

import elementtree.ElementTree as ET
tree = ET.parse('XML_file.xml')
root = tree.getroot()
for elem in root.getiterator():
    print elem.tag, elem.attrib

这是 Python 2.7 中已弃用的旧功能。对于 Python 2.7,.iter()应该与内置模块一起使用:

import xml.etree.ElementTree as ET
tree = ET.parse('XML_file.xml')
root = tree.getroot()
for elem in root.iter():
    print elem.tag, elem.attrib

附注:标准模块还支持通过元素节点的直接迭代(即没有.iter()或任何所谓的方法,只是for elem in root:)。它不同于.iter()——它只经过直接后代节点。旧版本中实现了类似的功能.getchildren().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ElementTree 在 Python 中处理 XML 的相关文章

随机推荐