Python 为什么etree.tostring()不能用于不同的方法?
我正在学习XML并尝试以下练习代码: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
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的模块”。不过,如果我把那一行删掉,这似乎行得通。谢谢你的帮助。