Только не указывайте аргумент contents
.
Для справки: django/utils/xmlutils.py
:
"""
Utilities for XML generation/parsing.
"""
from xml.sax.saxutils import XMLGenerator
class SimplerXMLGenerator(XMLGenerator):
def addQuickElement(self, name, contents=None, attrs=None):
"Convenience method for adding an element with no children"
if attrs is None: attrs = {}
self.startElement(name, attrs)
if contents is not None:
self.characters(contents)
self.endElement(name)
Здесь вы видите, что вам просто не нужно указывать contents
, и поэтому вы можете сделать x.addQuickElement(name, attrs=attrs)
.
(Беглый взгляд на XMLGenerator показывает, что он все равно будет производить конечный тег, а не самозакрывающийся тег. В Python 3.2 аргумент short_empty_elements
был добавлен к XMLGenerator.__init__
, но Django по-прежнему не только совместим с Python 2.x. Если вы хотите получить короткие теги, взгляните на реализацию xml.sax.saxutils.XMLGenerator.startElement
.)