Python 当我没有';我不知道会有多少级?

Python 当我没有';我不知道会有多少级?,python,xml,data-structures,loops,Python,Xml,Data Structures,Loops,我需要从结构中提取数据并将其放入列表中,但我不知道该结构有多少层 对于每个级别,我可以调用level.children(),如果没有低于当前级别的级别,它将返回[],如果有,它将返回[object,object,…],在每个级别上我可以再次调用children() 我需要深入研究这个结构,直到我将所有级别的数据提取到一个列表中 基于这样的结构时: <name>John Smith</name> <team link="http://teamwebsite.com"&

我需要从结构中提取数据并将其放入列表中,但我不知道该结构有多少层

对于每个级别,我可以调用
level.children()
,如果没有低于当前级别的级别,它将返回
[]
,如果有,它将返回
[object,object,…]
,在每个级别上我可以再次调用
children()

我需要深入研究这个结构,直到我将所有级别的数据提取到一个列表中

基于这样的结构时:

<name>John Smith</name>
<team link="http://teamwebsite.com">
    <name>Team Name</name>
</team>
<games>
    <location>
        <venue>A stadium</venue>
    </location>
</games>
[
    [
        {'name': 'name', 'attrs': {}, 'text': 'John Smith', 'parent': None},
    ],
    [
        {'name': 'team', 'attrs': {'link': 'http://teamwebsite.com'}, 'text': '', 'parent': None},
        {'name': 'name', 'attrs': {}, 'text': 'Team Name', 'parent': 1}, # the reference to its parent's position in the list
    ],
    [
        {'name': 'games', 'attrs': {}, 'text': '', 'parent': None},
        {'name': 'location', 'attrs': {}, 'text': '', 'parent': 1},
        {'name': 'venue', 'attrs': {}, 'text': 'A stadium', 'parent': 2},
    ],
]
我正试图找出从数据结构到列表的Python。我需要一种自我永存的for循环,但我不能想出一个好的解决方案


有什么能给我指出正确方向的吗?我相信对于这类事情有一些好的理论,我完全不知道,但我很乐意阅读。

你在描述,但我猜有,,。

你在这里想要使用的概念叫做“。

有吗?XML是一棵树。虽然如果你有一个XSD,你会知道哪些节点可以有子节点和子节点数量(即使“多少”是无界的)。@Thomas Owens:通过解析它,我的意思是不必自己编写算法来解析它……啊,一个内置的迭代器。太棒了:p。谢谢你的链接,我会把它们都读一遍。干杯。@efcjoe:总是乐于助人:)