【问题标题】:can xml.etree.ElementTree.write() integer values for a given Element?xml.etree.ElementTree.write() 给定元素的整数值可以吗?
【发布时间】:2013-10-23 06:24:13
【问题描述】:

冒着因为提出这样一个简单的问题而被骂的风险,但我一直在互联网上寻找答案,而且这种特殊情况似乎被广泛避免,而且文档含糊不清:

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

TypeError: cannot serialize 0 (type int)

当我尝试这样的事情时:

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')

我已经通过迭代各个字典并首先将所有值转换为字符串来解决它几次,但这感觉不对,在我再次搞砸之前,我想知道它应该如何正确完成不习惯坏习惯。因此,任何见解都将不胜感激。

干杯, 坦率的

【问题讨论】:

    标签: python xml elementtree


    【解决方案1】:

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

    在 xml 序列化之前将属性序列化为字符串由您决定。

    【讨论】:

    • 可以,因为序列化整数类型是一门火箭科学。干得好,Python!但是,感谢您的回答,这真的很有帮助:)。
    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 2012-02-02
    相关资源
    最近更新 更多