3

环境:Windows、Python、wxpython 和元素树作为 xml 解析器。

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

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

4

1 回答 1

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.'

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

于 2010-10-24T18:00:20.840 回答