I made good experience with "PyXB".
This package takes an XML-schema definition and generates Python classes from it. XML documents (conforming to the schema) can be parsed into instances of those classes and instances of those classes can be serialized as XML documents.
It hides well (many of) the complexities of XML-schema (if the schemas are given).