在 XML 属性中添加空格,使用 Python 中的 lxml 进行添加空格


from lxml import etree
html = etree.Element("html")
body = etree.SubElement(html, "body")
body.text = "TEXT"
body.set("p style", "color:red")
print(etree.tostring(html))
给我错误:

值错误:无效的属性名称 u'p 样式'

在 XML 中不能有带有空格的属性,这是 lxmletree 的用途。XML 规范在此处说明了什么是有效的属性名称。

如果您正在尝试实现此目的:

<html><body p style="color:red">TEXT</body></html>

你不能在 XML 中这样做。你可以在HTML中做类似的事情:空属性。有关详细信息,请参阅 HTML5 规范。但是您不会使用上面编写的代码来获得该结果。


如果您尝试获得以下结果(似乎更有可能):

<html><body><p style="color:red">TEXT</p></body></html>

然后很容易。

from lxml import etree
html = etree.Element("html")
body = etree.SubElement(html, "body")
p = etree.subElement(body, "p")
p.text = "TEXT"
p.set("style", "color:red")
print(etree.tostring(html))

最新更新