如何在Python中使用LXML显示HTML

2024-05-16 21:21:44 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想要达到的目标其实很简单

我想调用python test.py,并想转到我的本地主机,查看html结果。然而,我不断得到一个错误ValueError: Invalid tag name u'<html><body><h1>Test!</h1></body></html>'

下面是我的代码。这里有什么问题

import lxml.etree as ETO
html = ETO.Element("<html><body><h1>Test!</h1></body></html>")
self.wfile.write(ETO.tostring(html, xml_declaration=False, pretty_print=True))

Tags: 代码namepytestimport目标htmltag
2条回答

由于您正在读取现有文件,Element在这里没有用处;试着改变这个

html = ETO.Element("<html><body><h1>Test!</h1></body></html>")

对此

html = ETO.fromstring("<html><body><h1>Test!</h1></body></html>")

看看它是否对你有用

您必须依次创建每个元素,并将它们放入您希望它们具有的结构中:

html = ETO.Element('html')
body = ETO.SubElement(html, 'body')
h1 = ETO.SubElement(body, 'h1')
h1.text = 'Test!'

然后ETO.tostring(html)将返回一个ByTestString,如下所示:

>>> ETO.tostring(html)
b'<html><body><h1>Test!</h1></body></html>'

相关问题 更多 >