为什么 etree.tostring() 不适用于不同的方法?
Why is etree.tostring() not working for different methods?
我正在学习 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))
在练习中,它说如果我这样做,我应该为根获得 3 个不同格式的输出字符串:xml、html 和文本。但是,我只得到 3 个 XML 格式的输出。
我在这里错过了什么?我应该进口什么东西吗?我怀疑 etree.XML 赋值部分有问题,但正如我所说:我只是按照这里的指示操作。人们认为哪里不对劲?
tostring()
调用的结果确实不同,但每次都丢失,而您却打印了 3 次 same 表达式。 (请注意 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'))
您将获得预期的输出:
<html><head/><body><p>Hello<br/>World</p></body></html>
<html><head></head><body><p>Hello<br>World</p></body></html>
HelloWorld
我正在学习 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))
在练习中,它说如果我这样做,我应该为根获得 3 个不同格式的输出字符串:xml、html 和文本。但是,我只得到 3 个 XML 格式的输出。
我在这里错过了什么?我应该进口什么东西吗?我怀疑 etree.XML 赋值部分有问题,但正如我所说:我只是按照这里的指示操作。人们认为哪里不对劲?
tostring()
调用的结果确实不同,但每次都丢失,而您却打印了 3 次 same 表达式。 (请注意 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'))
您将获得预期的输出:
<html><head/><body><p>Hello<br/>World</p></body></html>
<html><head></head><body><p>Hello<br>World</p></body></html>
HelloWorld