Optional suggestion:  Do we really need _two_ XML parsers?  How about using <code>xml_utils.ElementTree</code> which would already be loaded (since you imported <code>libvirt_xml</code>)?