У меня есть следующий код, который создает документ XML
self.errorlist.append(
'<testcase classname=%(cls)s name=%(name)s time="%(taken)d">'
'<%(type)s type=%(errtype)s message=%(message)s><![CDATA[%(tb)s]]>'
'</%(type)s></testcase>' %
{'cls': self._quoteattr('.'.join(id.split('.')[:-1])),
'name': self._quoteattr(id.split('.')[-1]),
'taken': taken,
'type': type,
'errtype': self._quoteattr(nice_classname(err[0])),
'message': self._quoteattr(exc_message(err)),
'tb': escape_cdata(tb),
})
Как я могу добавить новый тег или новый тип, например, "DB" Я пытался
self.errorlist.append(
'<testcase classname=%(cls)s name=%(name)s db=%(db)s time="%(taken)d">'
'<%(type)s type=%(errtype)s message=%(message)s><![CDATA[%(tb)s]]>'
'</%(type)s></testcase>' %
{'cls': self._quoteattr('.'.join(id.split('.')[:-1])),
'name': self._quoteattr(id.split('.')[-1]),
'taken': taken,
'type': type,
'errtype': self._quoteattr(nice_classname(err[0])),
'message': self._quoteattr(exc_message(err)),
'tb': escape_cdata(tb),
})
, но получил: KeyError: 'db'
Я также попробовал просто% (db) s, но получил ошибку: NameError: глобальное имя 'db' не определено
Ниже приводится импорт
из xml.sax import saxutils