题
环境:Windows,Python,Wxpython和Element Tree作为XML解析器。
我正在独立地开发一个读XML并创建树的独立式。我的应用程序读取XML并创建树,但是当XML下次更改时(当XML的深度增加时 - 我的意思是,当添加两个子元素时)。应用程序未能读取(逻辑失败:()
对于例如,我写了一个逻辑,该逻辑可以读取任何具有5.但深度读取深度超过5的XML的XML,它会失败。请让我知道如何阅读XML的深度是动态的。
解决方案
您应该使用递归电话,更像是:
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.'
并非所有元素都具有“名称”属性。因此,您将需要调整它以匹配您的确切数据结构。
不隶属于 StackOverflow