can xml.etree.ElementTree.write()给定Element的整数值?

Fra*_*ter 6 python xml elementtree

有可能因为问这么简单的问题而大吼大叫,但我一直在网上寻找答案,这个特殊的案例似乎被广泛避免,而且文档含糊不清:

是否可以使用xml.etree.ElementTree.write()在元素的属性中写入非字符串值?我总是得到:

TypeError: cannot serialize 0 (type int)
Run Code Online (Sandbox Code Playgroud)

当我尝试这样的事情:

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')
Run Code Online (Sandbox Code Playgroud)

通过遍历相应的字典并首先将所有值转换为字符串,我已经多次解决这个问题,但这感觉不对,在我再次讨论它之前我想知道它应该如何正确地完成以至于不能得到它习惯了坏习惯.所以任何见解都会受到高度赞赏.

干杯,坦率地说

alk*_*lko 10

与XML数据相比,XML属性是文本.http://www.w3schools.com/xml/xml_attributes.asp

在xml序列化之前,您可以将属性序列化为字符串.

  • 当然,因为它是一个序列化整数类型的火箭科学.干得好,Python!但是,谢谢你的回答,这真的很有帮助:). (4认同)