import xml.etree.ElementTree as ET
xmldata = file('my_xml_file.xml')
tree = ET.parse(xmldata)
root = tree.getroot()
root_iter = root.iter()
Теперь я могу позвонить root_iter.next()
и получить мои Element
объекты. Проблема в том, что реальный файл, с которым я работаю, огромен, и я не могу вместить все это в память. Поэтому я пытаюсь использовать:
parse_iter = ET.iterparse(xmldata)
Если я позвоню parse_iter.next()
, это вызовет следующее
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
parse_iter.next()
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1260, in next
self._root = self._parser.close()
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1636, in close
self._raiseerror(v)
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1488, in _raiseerror
raise err
ParseError: no element found: line 1, column 0
Что я делаю не так?