我想将Elementree中的所有值转换为相应的字符串值

时间:2016-02-11 12:04:44

标签: python elementtree

我试过这个

from xml.etree.ElementTree import Element, SubElement, tostring
root = Element('root')
child = SubElement(root, "child")
child.text = 123
print tostring(root)

会抛出以下错误

TypeError: cannot serialize 123 (type int)

我知道 str()函数可以在这里使用 但是在我的情况下这是不可能的

我可以使用其他库函数吗?

2 个答案:

答案 0 :(得分:0)

使用str()函数将int转换为字符串
 child.text = str(123)

答案 1 :(得分:0)

如果出于某种原因,如你所说,你不想使用str函数,你也可以使用字符串格式化:

child.text = "%d" % 123

更具异国情调,您可以使用JSON库:

import json

child.text = json.dumps(123)

但是,我要强调, str(123)是这里的最佳选择,因为它对人类来说最容易理解。你提到这不是一个选择。那是因为你为str分配了一个变量吗?从长远来看,这可能不是一个好主意。