arguments. Returns an element instance.
- .. function:: tostring(element, encoding="us-ascii", method="xml", *,\
-.. function:: tostring(element, encoding="us-ascii", method="xml")
++.. function:: tostring(element, encoding="us-ascii", method="xml", *, \
+ short_empty_elements=True)
Generates a string representation of an XML element, including all
subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is
the output encoding (default is US-ASCII). Use ``encoding="unicode"`` to
generate a Unicode string (otherwise, a bytestring is generated). *method*
is either ``"xml"``, ``"html"`` or ``"text"`` (default is ``"xml"``).
+ *short_empty_elements* has the same meaning as in :meth:`ElementTree.write`.
Returns an (optionally) encoded string containing the XML data.
+ .. versionadded:: 3.4
+ The *short_empty_elements* parameter.
-.. function:: tostringlist(element, encoding="us-ascii", method="xml")
+
- .. function:: tostringlist(element, encoding="us-ascii", method="xml", *,\
++.. function:: tostringlist(element, encoding="us-ascii", method="xml", *, \
+ short_empty_elements=True)
Generates a string representation of an XML element, including all
subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is
section root element.
- .. method:: write(file, encoding="us-ascii", xml_declaration=None,\
- default_namespace=None, method="xml", *,\
+ .. method:: write(file, encoding="us-ascii", xml_declaration=None, \
- default_namespace=None, method="xml")
++ default_namespace=None, method="xml", *, \
+ short_empty_elements=True)
Writes the element tree to a file, as XML. *file* is a file name, or a
:term:`file object` opened for writing. *encoding* [1]_ is the output
*xml_declaration* controls if an XML declaration should be added to the
file. Use ``False`` for never, ``True`` for always, ``None``
for only if not US-ASCII or UTF-8 or Unicode (default is ``None``).
+ *default_namespace* sets the default XML namespace (for "xmlns").
*method* is either ``"xml"``, ``"html"`` or ``"text"`` (default is
- ``"xml"``). *default_namespace* sets the default XML namespace (for
- "xmlns").
+ ``"xml"``).
+ The keyword-only *short_empty_elements* parameter controls the formatting
+ of elements that contain no content. If *True* (the default), they are
+ emitted as a single self-closed tag, otherwise they are emitted as a pair
+ of start/end tags.
The output is either a string (:class:`str`) or binary (:class:`bytes`).
This is controlled by the *encoding* argument. If *encoding* is
encoding=None,
xml_declaration=None,
default_namespace=None,
- method=None):
+ method=None, *,
+ short_empty_elements=True):
- """Write the element tree to a file, as XML. 'file_or_filename' is a
- file name or a file object opened for writing. 'encoding' is the
- output encoding (default is US-ASCII). 'xml_declaration' controls
- if an XML declaration should be added to the output. Use False
- for never, True for always, None for only if not US-ASCII or
- UTF-8 or Unicode (default is None). 'method' is either "xml"
- (default), "html", "text" or "c14n".
++ """Write the element tree to a file, as XML. 'file_or_filename' is a
++ file name or a file object opened for writing.
++ 'encoding' is the output encoding (default is US-ASCII).
++ 'xml_declaration' controls if an XML declaration should be added
++ to the output. Use False for never, True for always, None for only
++ if not US-ASCII or UTF-8 or Unicode (default is None).
+ 'default_namespace' sets the default XML namespace (for "xmlns").
++ 'method' is either "xml" (default), "html", "text" or "c14n".
+ The keyword-only 'short_empty_elements' parameter controls the
- formatting of elements that contain no content. If True (default),
++ formatting of elements that contain no content. If True (default),
+ they are emitted as a single self-closed tag, otherwise they are
+ emitted as a pair of start/end tags.
+
+ """
if not method:
method = "xml"
elif method not in _serialize: