0
我正在使用lxml.sax
修改XML文檔,並且我想將自定義屬性傳遞給startElementNS
方法。我最初的代碼是這樣的:如何通過lxml.sax接口傳遞自定義屬性?
from lxml import sax
class MyContentHandler(sax.ElementTreeContentHandler):
def startElementNS(self, ns_name, qname, attributes):
if qname == 'text':
# the troublesome line
super().startElementNS((None, 'div'), 'div', {'class':'page'})
super().startElementNS(ns_name, qname, attributes)
然而,隨着documentation便籤,attributes
參數需要一個Attributes
對象,而不是一個普通的字典。調試發現確切的類型是sax.xmlreader.AttributesNSImpl
,但這個類沒有正式記錄,我似乎無法直接實例化它。
是否有任何(官方或hacky)方法爲startElementNS
方法提供自己的屬性?