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.