使用元素树读取动态xml

时间:2010-10-24 16:55:13

标签: python xml elementtree

环境:Windows,Python,wxpython和Element树作为xml解析器。

我正在开发一个独立的站点,它会读取xml并创建一个树。 我的应用程序读取xml并创建树,但是当xml下次更改时(当xml的DEPTH增加时 - 我的意思是添加了两个子元素时).Application无法读取(逻辑失败:()

例如 我写了一个逻辑,它可以读取任何深度为5的xml。但是当它读取深度大于5的xml时,它会失败。 请让我知道如何阅读深度是动态的xml。

1 个答案:

答案 0 :(得分:2)

你应该使用递归调用,更像是:

def recurse_tree(node):
    tree = {}
    for element in node:
        name = element.get('name')
        tree[name] = recurse_tree(element)
    if tree:
        return tree
    else:
        return 'No children.'

并非所有元素都具有“名称”属性。因此,您需要对其进行调整以匹配您的确切数据结构。