El iter de ElementTree () equivalente en Python2.6

Tengo este código con ElementTree que funciona bien con Python 2.7. Necesitaba obtener todos los nodos con el nombre “A” debajo del nodo “X / Y”.

from xml.etree.ElementTree import ElementTree verboseNode = topNode.find("X/Y") nodes = list(verboseNode.iter("A")) 

Sin embargo, cuando intenté ejecutarlo con Python 2.6, recibí este error.

 ionCalculateSkewConstraint.py", line 303, in getNodesWithAttribute nodes = list(startNode.iter(nodeName)) AttributeError: _ElementInterface instance has no attribute 'iter' 

Parece que el nodo de Python 2.6 ElementTree no tiene el iter (). ¿Cómo puedo implementar el iter () con Python 2.6?

Tenga en cuenta que el iter está disponible en Python 2.6 (e incluso 2.5, de lo contrario, habrá un aviso en los documentos ), por lo que realmente no necesita un reemplazo.

Usted puede, sin embargo, usar findall :

 def _iter_python26(node): return [node] + node.findall('.//*') 

No estoy seguro de si esto es lo que estás buscando, ya que iter() parece estar en 2.6, pero hay getiterator()

http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.getiterator