lxml iterparse в python не может обрабатывать пространства имен

from lxml import etree
import StringIO

data= StringIO.StringIO('<root xmlns="http://some.random.schema"><a>One</a><a>Two</a><a>Three</a></root>')
docs = etree.iterparse(data,tag='a')
a,b = docs.next()


Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "iterparse.pxi", line 478, in lxml.etree.iterparse.__next__ (src/lxml/lxml.etree.c:95348)
  File "iterparse.pxi", line 534, in lxml.etree.iterparse._read_more_events (src/lxml/lxml.etree.c:95938)
StopIteration

Работает нормально, пока я не добавлю пространство имен к корневому узлу. Любые идеи относительно того, что я могу сделать, как обходной путь, или правильный способ сделать это? Мне нужно управлять событиями из-за очень больших файлов.

7
задан James Townley 10 August 2011 в 21:53
поделиться