Convert objects to XML quickly and easily.
- Easily convert objects using an XML template.
- Supports node lists and sub-documents.
- Objects don't need to know about XML paths, flat objects can become deep XML documents.
- Dynamically inject XML at creation time.
Simple document:
from obj2xml import XML_Object, XML_Property, XML_TextProperty class MyExampleXML(XML_Object): version = XML_Property(['root', 'version'], 1.0) test_value = XML_Property(['root', 'test-value'], 'Default Value') no_default_value = XML_Property(['root', 'no-default']) text_node = XML_TextProperty(['root', 'text-node-1']) manual_text_node = XML_Property(['root', 'text-node-2', '_text']) obj = MyExampleXML() obj.test_value = 'Another value' obj.no_default_value = 'This value was hidden before' obj.a_text_value = 'Over-rode the default text' obj.text_node = 'This is some text' obj.manual_text_node = 'This is some more text' print(obj) <?xml version="1.0" ?> <root no-default="This value was hidden before" test-value="Another value" version="1.0"> <text-node-2>This is some more text</text-node-2> <text-node-1>This is some text</text-node-1> </root>
For further examples, look in the examples directory.