Comprehensive XML generator for Python
Project description
Project Name
Comprehensive XML generator for Python
Table of Contents
Installation
pip install xml-generator
Usage
Import
from xml_generator.types import XmlNode
Comprehensive parsing
Parse Comprehensive format into an XmlNode object.
node = XmlNode.parse(
{
"name": "node",
"attributes": {"attr1": "value1", "attr2": "value2"},
"body": [
{"name": "child1", "attributes": {"attr1": "value1"}},
{"name": "child2", "attributes": {"attr2": "value2"}},
],
}
)
Parse Comprehensive format with quries
node = XmlNode.from_query('node@attr1="value1"@attr2="value2"')
nodes = XmlNode.from_queries(
[
"NoValueNode",
{
"SHORT-NAME": "node",
},
{
"ELEMENTS@type='string'": [
"element@hint='id'",
"element@unit='m'",
{"element@unit='m'@min='0'@max='100'@init='50'": "100"},
],
},
]
)
Searching a specific node
Return the first XmlNode with the given query. Query can be a name with attributes.
parent = node.find("node")
child1 = node.find("child1@attr1")
child2 = node.find("child2")
Generate a xml file
Using the to_xml()
function that return the XmlNode as an XML string.
with open('sample.xml', 'w', encoding='utf-8') as f:
f.write(node.to_xml())
Contributing
Coming soon.
Testing
python -m unittest discover -s xml_generator/tests -p "test*.py"
Building
python .\setup.py sdist bdist_wheel
Deployment
twine upload dist/*
License
License :: OSI Approved :: MIT License
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
Close
Hashes for xml-generator-seobaeksol-0.2.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10890df8dbb22084aa23fe516cae2d89440c3f65d93120a03998eb5fae177e1e |
|
MD5 | b48af38ee40796084d3f12bd5e1c0b91 |
|
BLAKE2b-256 | f4c5c325dd7d3de6360dce12d3b2e9160f8e0974c5ce1f8ebd283718defb23bc |
Close
Hashes for xml_generator_seobaeksol-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bdbfb4aecd91cbd42c1b28da1aecce2f6c48a19d6e3ad63178e5910ca032be3 |
|
MD5 | f06106d350e0b346797a3295fac442a4 |
|
BLAKE2b-256 | b3bb624f919c1841be7ddb1d7bebabf5cdd763ded1a523309a16caf0420d8588 |