Python递归XML解析

时间:2012-07-13 19:02:14

标签: python xml parsing

全新的XML解析。 python中解析类似内容的最佳方法是什么:

<Item name="item1">
    <data>item1data</data>
    <subItems>
        <Item name="item2">
            <data>item2data</data>
            <subItems>
                <Item name="item3">
                  . . .
                </Item>
            </subItems>
        </Item>
        <Item name="item4">
          . . .
        </Item>
    <subItems>
</Item>

我正在查看xml.sax解析,但无法弄清楚如何启用它来对subItems树进行多层解析。有人可以给我一个解析器/方法来解析这个吗?谢谢!

我将用这个创建'Item'对象的列表,期望的结果会像这样循环:

[Item(item1, item1data, 
    [Item(item2, item2data, 
        [Item(item3 ... ]) Item(item4 ... )])]`

1 个答案:

答案 0 :(得分:0)

python解析xml的最好方法之一是使用位于以下位置的lxml包: http://lxml.de/

它包含与python内置模块ElementTree的向后兼容性,并提供xPath支持。

这是一个帮助您入门的教程: http://lxml.de/tutorial.html