Skip to main content

streamingxmlwriter

License: LGPL-3 https://badge.fury.io/py/streamingxmlwriter.svg https://travis-ci.org/acsone/streamingxmlwriter.svg?branch=master https://coveralls.io/repos/acsone/streamingxmlwriter/badge.svg?branch=master&service=github

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

Author

  • Stéphane Bidoul (ACSONE)

Maintainer

ACSONE SA/NV

This module is maintained by ACSONE SA/NV.

Release files for streamingxmlwriter 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for streamingxmlwriter 1.0.0
File Size Uploaded
streamingxmlwriter-1.0.0.tar.gz 7.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for streamingxmlwriter 1.0.0
File Interpreter ABI Platform
streamingxmlwriter-1.0.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 11.9 kB

Release files / streamingxmlwriter-1.0.0.tar.gz

Download URL streamingxmlwriter-1.0.0.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3d68345d35628a60776c359e467d883aa264b7fb0eb772cfccd49fe1ab3897ae
BLAKE2b-256 checksum
How to use checksums
844d05838decadb43601835243e4d88aeeb62cb030949d9b1af0c277c4a8590d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / streamingxmlwriter-1.0.0-py2.py3-none-any.whl

Download URL streamingxmlwriter-1.0.0-py2.py3-none-any.whl
Size 4.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
7cd7576f2eb9c8f1510b7cda6f0d4519da50c0f816d788e205fa8d9939247827
BLAKE2b-256 checksum
How to use checksums
6c7a09ae2cef23249fa6eb7b7c3a64974d1c824ffce22eab6d549083503f9437
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page