I use xmltodict
to convert Python dictionaries to XML. I would like to include the namespaces. What I've come up with is this:
xml_dict = {
"http://namespace.org:workflow":
{"action-list": "..."}
}
namespaces = {"http://namespace.org": "ws"}
xml = xmltodict.unparse(xml_dict, namespaces=namespaces,
pretty=True, short_empty_elements=True, full_document=False)
That gives me the result:
<ws:workflow>
<action-list>...</action-list>
</ws:workflow>
How can I include the namespaces in the result? I would like something like this:
<ws:workflow xmlns:ws="http://namespace.org">
Is there a simple solution using xmltodict
?
Note: I've checked all keyword arguments in the source code of unparse
and _emit
functions. I guess the preprocessor
argument will be the key to a better solution. But it's not documented.