Fast XML to Python data (and vise versa) converter and filter. Written in C++ using Expat SAX parser.
Project description
Introduction
nkit4py - is a nkit C++ library port to Python (see https://github.com/eye3/nkit.git). There is the same port to Node.js - nkit4nodejs (see https://github.com/eye3/nkit4nodejs.git)
With nkit4py module you can convert XML string to Python data and vise versa.
With XML-to-Python-data possibilities you can:
Create Python data structures, which are different from the structure of XML source.
Create multiple Python structures from one XML source.
Explicitly identify those elements and attributes in XML source that you want to use for building Python data structures. Thus, it’s possible to filter out unnecessary XML-data.
Explicitly define Python type of scalar (primitive) data, fetched from XML source. Integers, numbers, strings, datetimes and booleans are supported.
Control progress of chunked download and parsing of big XML string
- With extra options you can tune some aspects of conversion:
trim text data
explicitly define white space characters for trim option
choose unicode or string type for text data
Conversion is carried out using SAX parser Expat, so it’s fast and uses less memory when parsing huge XML files.
Module supports not only native Expat XML encodings, but also many others (see /deps/nkit/src/encoding/langs.inc)
With Python-data-to-XML possibilities you can:
Define root element name of result xml string
Define item element name for lists
Define encoding of result xml string
Pretty print with custom indentation and newline characters
Define special object key name for attributes
Define special object key name for text
Define which element of result xml string must contain CDATA section
Define precision for float numbers
Define format for Date objects
Installation
On Linux & Mac OS
pip install nkit4py
On Windows
Library compiles on MSVS Express version >= 2012.
For MSVS 2012:
SET VS90COMNTOOLS=%VS110COMNTOOLS%
pip install nkit4py
For MSVS 2013:
SET VS90COMNTOOLS=%VS120COMNTOOLS%
pip install nkit4py
Usage
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.