Python 为什么etree.tostring()不能用于不同的方法?

Python 为什么etree.tostring()不能用于不同的方法?,python,xml,xml.etree,Python,Xml,Xml.etree,我正在学习XML并尝试以下练习代码: root = etree.XML('<html><head/><body><p>Hello<br/>World</p></body></html>') etree.tostring(root, method='xml') print(etree.tostring(root)) etree.tostring(root, method='html') print(e

我正在学习XML并尝试以下练习代码:

root = etree.XML('<html><head/><body><p>Hello<br/>World</p></body></html>')
etree.tostring(root, method='xml')
print(etree.tostring(root))
etree.tostring(root, method='html') 
print(etree.tostring(root))
etree.tostring(root, method='text') 
print(etree.tostring(root))
root=etree.XML('Hello
World

) etree.tostring(root,method='xml') 打印(etree.tostring(根)) etree.tostring(root,method='html') 打印(etree.tostring(根)) etree.tostring(root,method='text') 打印(etree.tostring(根))
在练习中,它说如果我这样做,我应该得到3个不同格式的root输出字符串:xml、html和text。但是,我只得到3个XML格式的输出


我错过了什么?我应该进口什么东西吗?我怀疑etree.XML赋值部分有问题,但正如我所说的:我只是按照这里的说明来做。人们认为有什么地方不对劲?

调用
tostring()
的结果确实不同,但每次都会丢失,而您会将同一个表达式打印三次。(请注意,
tostring()
正在返回一个结果,而不是就地修改其参数

如果改为运行此脚本:

from lxml import etree

root = etree.XML('<html><head/><body><p>Hello<br/>World</p></body></html>')
print(etree.tostring(root, method='xml'))
print(etree.tostring(root, method='html'))
print(etree.tostring(root, method='text'))
从lxml导入etree
root=etree.XML(“Hello
World

”) 打印(etree.tostring(root,method='xml')) 打印(etree.tostring(root,method='html')) 打印(etree.tostring(root,method='text'))
您将获得预期的输出:

<html><head/><body><p>Hello<br/>World</p></body></html>
<html><head></head><body><p>Hello<br>World</p></body></html>
HelloWorld
你好
世界

你好
世界

你好世界
um,现在我看到一个错误,指向“从lxml导入etree”错误,表示“没有名为lxml的模块”。不过,如果我把那一行删掉,这似乎行得通。谢谢你的帮助。