跳转到主要内容

一个轻量级的符合标准的Pythonic流式XML写入器

项目描述

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

一个轻量级的符合标准的Pythonic流式XML写入器。

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'})

有关API示例的更多信息,请参阅core.pyStreamingXMLWriter类的文档。

底层它生成SAX事件到标准的xml.sax.saxutils.XMLGenerator。它还提供了一个from_sax_handler构造函数,因此它也可以用于发出除了输出到io流之外的其他目的的SAX事件。

支持Python 2 (2.7+) 和 python 3 (3.3+)。

支持的XML功能有

  • 元素

  • 属性

  • 文本

  • 处理指令

  • 注释

  • 可选择的编码

  • 元素和属性的命名空间,带或不带前缀

不支持XML功能(尚未)

  • DOCTYPE声明

  • 实体

  • CDATA部分

致谢

作者

  • Stéphane Bidoul (ACSONE)

维护者

ACSONE SA/NV

此模块由ACSONE SA/NV维护。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

streamingxmlwriter-1.0.0.tar.gz (7.1 kB 查看哈希值)

上传时间 源代码

构建发行版

streamingxmlwriter-1.0.0-py2.py3-none-any.whl (4.8 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者