当我使用整数作为属性值时,为什么LXML ElementMaker会中断?

时间:2014-02-20 13:29:09

标签: python lxml decorator

我正在尝试在LXML的帮助下创建XML文档。我意识到 当我使用整数时,ElementMaker会中断。

代码

from lxml.builder import ElementMaker
from lxml import etree

maker = ElementMaker()
maker.text(**{'label': 'my textarea'})    # works

maker.ratings(**{'points':5})             # breaks

错误

File "/usr/local/lib/python2.7/dist-packages/lxml/builder.py", line 210, in __call__
    get(dict)(elem, attrib)
File "/usr/local/lib/python2.7/dist-packages/lxml/builder.py", line 197, in add_dict
attrib[k] = typemap[type(v)](None, v)
KeyError: <type 'int'>

为什么我不能将属性值指定为整数?

1 个答案:

答案 0 :(得分:2)

您不能在XML中使用整数值。 您可以输入数据作为字符串,并在解析数据时将其转换为所需的格式。

在你的情况下尝试使用'points':"5",然后在解析时将字符串转换为整数