如何将“用户数据”与 lxml.etree.Element 关联?

问题描述 投票:0回答:1

我目前正在将一些 Python 代码从 DOM“移植”到

lxml.etree
,并且遇到了一个障碍:有问题的 DOM 代码使用
Node.setUserData()
Node.getUserData
API,但我在lxml API 文档。

在最后的努力中,我尝试对

lxml.etree.Element
对象进行猴子修补,但这会引发
AttributeError
:

    setattr(element, '_userdata', {})
AttributeError: 'lxml.etree._Element' object has no attribute '_userdata'

我是否在这里遗漏了一些东西,或者我是否坚持重组代码以完全不同的方式处理“用户数据”?

python lxml
1个回答
0
投票

lxml没有这个功能。我最终破解了一个重写 ElementBase 的类并将用户数据存储为处理指令。泡菜是你的朋友。

© www.soinside.com 2019 - 2024. All rights reserved.