A lightweight pythonic standard compliant streaming xml writer
Project description
streamingxmlwriter
A lightweight pythonic standard compliant streaming xml writer.
from io import BytesIO import streamingxmlwriter stream = BytesIO() with streamingxmlwriter.from_stream(stream) as writer: writer.start_namespace('myns', 'http://mynamespace.org/') with writer.element('myns:root', {'att1': '1'}): with writer.element('myns:child1'): writer.characters('text content') writer.comment(' a comment ') with writer.element('myns:child2'): writer.characters('text content') # shortcut for elements containing a single text node writer.text_element('myns:child3', 'text content', {'att2': '2'})
For more API examples, look at the documentation of the StreamingXMLWriter class in core.py.
Under the hood it generates SAX events to the standard xml.sax.saxutils.XMLGenerator. It also provides a from_sax_handler constructor so it can also be used to emit sax events for other purposes than outputing to an io stream.
Python 2 (2.7+) and python 3 (3.3+) are supported.
Supported XML features are:
elements
attributes
text
processing instructions
comments
selectable encoding
namespaces for elements and attributes, with or without prefix
Unsupported XML features (yet):
DOCTYPE declaration
entities
CDATA sections
Credits
Maintainer
This module is maintained by ACSONE SA/NV.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for streamingxmlwriter-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cd7576f2eb9c8f1510b7cda6f0d4519da50c0f816d788e205fa8d9939247827 |
|
MD5 | a4bdcbfebc575ceca52825b7f13a02da |
|
BLAKE2b-256 | 6c7a09ae2cef23249fa6eb7b7c3a64974d1c824ffce22eab6d549083503f9437 |