Skip to main content
 首页 » 编程设计

Python 递归 XML 解析

2025年05月04日13soundcode

全新的 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 ... )])]` 

请您参考如下方法:

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

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

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