2015-01-13 14 views
0

我使用python的Elementtree模块创建XML DOM,并且它似乎使用变量作为节点。我的问题是,如果我在循环中将记录添加到DOM,如何创建唯一的变量名称,以便节点对于DOM是持久的。下面的示例代码。元素树Python中使用的变量变量

someList =[1,2,3,4,5] 
root = Element('root') 
records = SubElement(root, 'records') 

for idx, num in enumerate(someList): 
    record+idx = SubElement(records, 'record') 

希望这是有道理的。任何帮助或建议将不胜感激

回答

1

这个正确答案是对这些对象存储在一个字典,而不是动态的他们的名字,例如:

data = dict() 
for idx, num in enumerate(someList): 
    data['record{}'.format(idx)] = SubElement(records, 'record') 

展望了一下,这也将使它很容易参考后面这些相同的对象,遍历它们,等等。

+0

您可以详细说明在一个字典键中有括号的语法吗?我不熟悉如何使用它们。顺便提一下,谢谢你的回答。 – Jacksgrin

+1

@Jacksgrin在字符串内部,大括号是传入.format()参数的插入点。所以,'你好,格式'('世界')会产生'你好,世界'见:https://mkaz.com/2012/10/10/python-string-format/ – dylrei

+0

我可以使用这些变量变量存储在字典中以设置子图标或文本?例如,我现在可以这样做: “记录{}格式(idx).text = record1value” – Jacksgrin