Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 将打印函数的输出存储在递归函数的列表中_Xml_Recursion_Elementtree - Fatal编程技术网

Xml 将打印函数的输出存储在递归函数的列表中

Xml 将打印函数的输出存储在递归函数的列表中,xml,recursion,elementtree,Xml,Recursion,Elementtree,无论我在打印什么,这都是一本字典,其中有键,因为标记和值是与标记相关联的文本 我想把那些词典存储在一个列表中。因此,相应的列表将是一系列词典的列表 注释行显示了一个列表“数据””,我想在其中存储每个字典 我正在打印,但如果我现在这样写,它只存储最后创建的词典 def get_leaves(node, list_of_leaves=None): list_of_leaves = {} if list_of_leaves is None else list_of_leaves ki

无论我在打印什么,这都是一本字典,其中有键,因为标记和值是与标记相关联的文本

我想把那些词典存储在一个列表中。因此,相应的列表将是一系列词典的列表

注释行显示了一个列表“
数据”
”,我想在其中存储每个字典

我正在打印,但如果我现在这样写,它只存储最后创建的词典


def get_leaves(node, list_of_leaves=None):
    list_of_leaves = {} if list_of_leaves is None else list_of_leaves
    kids=node.getchildren()
    for i in kids:
        if (i.getchildren()):
            get_leaves(i, list_of_leaves)
        else:
            list_of_leaves[i.tag]=i.text
    print list_of_leaves
    #data.append(list_of_leaves)    
result = {} 
#data=[]
tree = ET.parse('abc.xml')
root = tree.getroot()
get_leaves(root, list_of_leaves=result)