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>
<Runtimetimeout="1000"runtimeDataPath="/path/to/runtime/data" />
</ConfigurationData># main.pyimportdynamicxml# parse the data and get back an instance of DynamicElementroot=dynamicxml.parse('data/ConfigFile.xml')
# Print the tag of the root element, just like you would a typical etree# elementprint (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 directlyruntimeNode.attr_timeout=str(int(runtimeNode.attr_timeout) +1)
# easy writing of the datadynamicxml.write('data/ConfigFile_Updated.xml', root)