Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.47 KB

README.md

File metadata and controls

48 lines (34 loc) · 1.47 KB

dynamicxml

A simple extension of Etree that gives users the ability to directly access attributes and nodes without having to implement boilerplate python code.

Rationale for this library: Dynamic XML Library with Python

Pip Installer: pip

python -m pip install dynamicxml

DynamicElement is a drop-in replacement for any Etree code that you already have

<!-- ConfigFile.xml -->
<ConfigurationData>
    <Runtime timeout="1000" runtimeDataPath="/path/to/runtime/data" />
</ConfigurationData>
# main.py
import dynamicxml

# parse the data and get back an instance of DynamicElement
root = dynamicxml.parse('data/ConfigFile.xml')

# Print the tag of the root element, just like you would a typical etree
# element
print (root.tag)

# get access to the runtime data node, which is a child of
# <ConfigurationData />.  The library returns a list of child
# nodes, regardless of how many elements there are.  An "AttributeError"
# is raised if the node does not exist.
runtimeNode = root.Runtime[0]

# Access the attributes of the node directly using the "attr_" prefix.
print (runtimeNode.attr_timeout)
print (runtimeNode.attr_runtimeDataPath)

# set the data directly
runtimeNode.attr_timeout = str(int(runtimeNode.attr_timeout) + 1)

# easy writing of the data
dynamicxml.write('data/ConfigFile_Updated.xml', root)