将fromstring()与lxml前缀一起使用

2024-04-28 03:43:25 发布

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

我有一个可变元素。我试图在ele上附加一个子节点,它的标记中包含名称空间前缀(称为style)。ele似乎知道这个前缀,因为行:

print(ele.nsmap['style'])

输出

^{pr2}$

但当我想逃跑的时候

ele.append(etree.fromstring('<style:style />'))

我知道错误了

lxml.etree.XMLSyntaxError: Namespace prefix style on style is not defined

我错过了什么?在


Tags: 标记名称元素节点style错误空间lxml
1条回答
网友
1楼 · 发布于 2024-04-28 03:43:25

etree.fromstring('<style:style />')引发错误,因为<style:style />是一个不是{a1}的小XML文档。在

如果要将命名空间作为fromstring()的参数提供,则必须在文档中声明该命名空间:

etree.fromstring('<style:style xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" />')

相关问题 更多 >