pro*_*eek 15 python xml elementtree python-2.6
我有这个代码与ElementTree适用于Python 2.7.我需要在"X/Y"节点下获取名为"A"的所有节点.
from xml.etree.ElementTree import ElementTree
verboseNode = topNode.find("X/Y")
nodes = list(verboseNode.iter("A"))
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用Python 2.6运行它时,我遇到了这个错误.
ionCalculateSkewConstraint.py", line 303, in getNodesWithAttribute
nodes = list(startNode.iter(nodeName))
AttributeError: _ElementInterface instance has no attribute 'iter'
Run Code Online (Sandbox Code Playgroud)
看起来Python 2.6 ElementTree的节点没有iter().如何用Python 2.6实现iter()?
Ada*_*ner 19
不确定这是否是你想要的,iter()似乎在2.6左右,但有getiterator()
http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.getiterator
请注意,iter 是在Python 2.6提供(甚至2.5 -否则,会是在通知文档),所以你并不真的需要更换.
但是,您可以使用findall:
def _iter_python26(node):
return [node] + node.findall('.//*')
Run Code Online (Sandbox Code Playgroud)