Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xml-generator-seobaeksol-0.2.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xml_generator_seobaeksol-0.2.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file xml-generator-seobaeksol-0.2.1.tar.gz.

File metadata

File hashes

Hashes for xml-generator-seobaeksol-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2a2938589822e7b7a3705a4cc0036520b1f45eb206f5a37052bda0ac818a2c6b
MD5 bf1a31a379510f4aa8ea127317cd4984
BLAKE2b-256 6f6552e35d75f10562e170e042deafff8163d17096497082cf416a46a848d25f

See more details on using hashes here.

File details

Details for the file xml_generator_seobaeksol-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for xml_generator_seobaeksol-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 52a0c4adb3dc11efb8fe315dfa2e6e2aed0c5e6e7df7a8e5f3f5dd67d85ff2cf
MD5 d855e2d81ba82c52ee659aeb8db3ba25
BLAKE2b-256 928f03d580b8f237a16a6896c767a6e4e21242be5e611b0400faaadfaa769093

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page