我正在尝试使用Elementree将XML文件转换为Dictionary。 XML文件中有各种标记,但对于每条记录,ID标记都是主键。所以我试图创建的字典有父标记作为ID,所有其他属性作为其子键。但我得到一个unboundlocalerror说'局部变量x在赋值之前是引用。这是代码:
tree = ET.parse(xml_file)
root = tree.getroot()
temp_dict={}
def create_dict():
test_dict = {}
for child in root.iter():
if subchild.tag=='ID':
x=(child.text)
else:
test_dict[subchild.tag]= subchild.text
temp_dict[x]=test_dict
return ( temp_dict)
答案 0 :(得分:0)
这不起作用,您必须使用 root 值或x
初始化condition
并等到找到第一个subchild
。
您还指定了x = test_dict
而没有()
。
条件示例,例如:
...
temp_dict={}
x = None
def create_dict():
...
if subchild.tag=='ID':
x = test_dict
...
if x:
temp_dict[x]=test_dict
...