¿Puede xml.etree.ElementTree.write () valores enteros para un Elemento dado?

a riesgo de que me griten por hacer una pregunta tan simple, pero he estado buscando en Internet las respuestas y este caso en particular parece ser ampliamente evitado y los documentos son ambiguos:

¿Es posible usar xml.etree.ElementTree.write () para escribir valores que no sean de cadena en el atributo de un elemento? Siempre me sale

TypeError: cannot serialize 0 (type int) 

cuando bash algo como esto:

 root = ET.Element('Tasks') d = {'priority': 1, 'status': 0, 'name': 'new task', 'index': 0} d = ET.SubElement(root, 'Settings', attrib=d) tree = ET.ElementTree(root) tree.write('/tmp/xmlTest') 

He estado trabajando alrededor de él varias veces al iterar sobre el diccionario respectivo y convertir todos los valores en cadenas primero, pero eso no se siente bien y antes de que lo estropee de nuevo, me gustaría saber cómo se debe hacer correctamente para no obtener Acostumbrado a un mal hábito. Así que cualquier idea sería muy apreciada.

Saludos frank

En contraste con los datos XML, los atributos XML son textos. http://www.w3schools.com/xml/xml_attributes.asp

Depende de usted serializar los atributos de las cadenas antes de la serialización xml.