环境:Windows,Python,wxpython和Element树作为xml解析器。
我正在开发一个独立的站点,它会读取xml并创建一个树。 我的应用程序读取xml并创建树,但是当xml下次更改时(当xml的DEPTH增加时 - 我的意思是添加了两个子元素时).Application无法读取(逻辑失败:()
例如 我写了一个逻辑,它可以读取任何深度为5的xml。但是当它读取深度大于5的xml时,它会失败。 请让我知道如何阅读深度是动态的xml。
答案 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.'
并非所有元素都具有“名称”属性。因此,您需要对其进行调整以匹配您的确切数据结构。