Serhiy Storchaka added the comment:

I found such example. It happens when the data contains XML entity.

>>> ET.tostring(ET.XML('<root>a&amp;</root>'), method='text', 
>>> encoding='unicode')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/serhiy/py/cpython/Lib/xml/etree/ElementTree.py", line 1171, in 
tostring
    ElementTree(element).write(stream, encoding, method=method)
  File "/home/serhiy/py/cpython/Lib/xml/etree/ElementTree.py", line 824, in 
write
    _serialize_text(write, self._root)
  File "/home/serhiy/py/cpython/Lib/xml/etree/ElementTree.py", line 1057, in 
_serialize_text
    write(part)
TypeError: string argument expected, got 'list'


Indeed, itertext() returns a list of lists instead of list of strings.

>>> list(ET.XML('<root>a&amp;</root>').itertext())
[['a', '&']]

The bug is in the C implementation of itertext().

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue16913>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to