2012-07-13 122 views
2

XML解析的新功能。什么是在Python解析类似的最好办法:Python递归XML解析

<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树的多个级别。有人能给我一个解析器/方法的建议来解析这个吗?谢谢!

我将创建这个“项目”的对象名单,预计结果将loopks是这样的:

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

你有什么打算时,它的解析用它做什么? 'lxml'包是IMO最好使用的。 – Daenyth 2012-07-13 19:03:01

+0

@Daenyth我将创建嵌套列表以显示在GUI上 – Squid1361 2012-07-13 19:04:16

+0

编辑您的问题并添加一些示例数据结构或输出结果,解析代码段后您会收到 – Daenyth 2012-07-13 19:04:52

回答

0

一个在python解析XML的最佳方法是使用lxml的软件包,可以位于: http://lxml.de/

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

这里有一个教程,让你开始: http://lxml.de/tutorial.html