_ElementInterface实例没有'tostring'属性

4 投票
3 回答
6098 浏览
提问于 2025-04-15 19:31

下面的代码出现了这个错误。我搞不清楚为什么。如果ElementTree有parse这个功能,为什么就没有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 个回答

-1

你链接的文档里并没有提到有一个叫做 ElementTree.tostring() 的方法。

另外,你调用 tree.parse() 的时候,会重新绑定 node 这个变量。

3

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>'
8

tostringxml.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)

撰写回答