I saw something like a regression in some case, or maybe I'm misusing the library:
>>> from io import BytesIO >>> from lxml import etree >>> xml='''<root> ... <child name='one' /> ... <child name='two' /> ... </root> ... ''' >>> document = etree.iterparse(BytesIO(xml), events=('end',), tag='root') >>> for action, elem in document: ... print("%s: %s" % (action, elem.tag)) ... end: root >>> file('/tmp/test.xml', 'w').write(xml) >>> document = etree.iterparse('/tmp/test.xml', events=('end',), tag='root') >>> for action, elem in document: ... print("%s: %s" % (action, elem.tag)) ... end: root 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:98432) File "iterparse.pxi", line 530, in lxml.etree.iterparse._read_more_events (src/lxml/lxml.etree.c:98953) File "parser.pxi", line 601, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:74863) lxml.etree.XMLSyntaxError: None
Downgrading libxml2 version 2.7.8.dfsg-5.1ubuntu4 does not finish in a traceback when parsing from a file.
I saw something like a regression in some case, or maybe I'm misusing the library:
>>> from io import BytesIO (BytesIO( xml), events=('end',), tag='root') tmp/test. xml', 'w').write(xml) ('/tmp/ test.xml' , events=('end',), tag='root') iterparse. __next_ _ (src/lxml/ lxml.etree. c:98432) iterparse. _read_more_ events (src/lxml/ lxml.etree. c:98953) _raiseParseErro r (src/lxml/ lxml.etree. c:74863) XMLSyntaxError: None
>>> from lxml import etree
>>> xml='''<root>
... <child name='one' />
... <child name='two' />
... </root>
... '''
>>> document = etree.iterparse
>>> for action, elem in document:
... print("%s: %s" % (action, elem.tag))
...
end: root
>>> file('/
>>> document = etree.iterparse
>>> for action, elem in document:
... print("%s: %s" % (action, elem.tag))
...
end: root
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "iterparse.pxi", line 478, in lxml.etree.
File "iterparse.pxi", line 530, in lxml.etree.
File "parser.pxi", line 601, in lxml.etree.
lxml.etree.
Downgrading libxml2 version 2.7.8.dfsg- 5.1ubuntu4 does not finish in a traceback when parsing from a file.