Экземпляр _ElementInterface не имеет атрибута "tostring" - PullRequest
4 голосов
/ 21 февраля 2010

Код ниже генерирует эту ошибку. Я не могу понять, почему. Если у ElementTree есть разбор, почему у него нет tostring? http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.ElementTree

from xml.etree.ElementTree import ElementTree

...

tree = ElementTree()
node = ElementTree()

node = tree.parse(open("my_xml.xml"))
text = node.tostring()

Ответы [ 3 ]

8 голосов
/ 21 февраля 2010

tostring - это метод модуля xml.etree.ElementTree, а не класс xml.etree.ElementTree.ElementTree с похожим названием.

from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import tostring

tree = ElementTree()
node = tree.parse(open("my_xml.xml"))
text = tostring(node)
3 голосов
/ 21 февраля 2010

tostring () на самом деле является функцией модуля ElementTree, а не методом класса-оболочки ElementTree.

>>> import xml.etree.ElementTree as ET
>>> x = ET.fromstring('<xml><one>one</one></xml>')
>>> x     
<Element xml at 7f749572f710>
>>> ET.tostring(x)
'<xml><one>one</one></xml>'
0 голосов
/ 21 февраля 2010

Документы, на которые вы ссылаетесь, не поддерживают существование метода ElementTree.tostring().

Кроме того, ваш звонок на tree.parse() перепривязывает node.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...