处理XML数据的理想数据结构

时间:2011-08-05 13:48:31

标签: python

也许是一个愚蠢的问题,但我通常会学到很多东西。 :)

我正在开发一种软​​件,它既可以作为输入也可以作为输出处理XML,并且可以在很多处理之间进行处理。

我的第一个想法是在内部使用dict作为内部数据结构,然后从那里开始阅读和编写它。

你们怎么想?任何更好的方法,python-wise?

2 个答案:

答案 0 :(得分:4)

XML文档通常是一个带有 lot 铃声和口哨声的树(属性与子节点,文本与子节点混合,实体,xml声明,注释等等)。处理应留给现有的成熟库 - 对于Python,人们普遍认为lxml是最方便的选择,其次是stdlib ElementTree模块(一个lxml模块,{{1} },受到了很大的启发,incompabilities是例外情况。)

这些处理所有这些复杂性并以一些方便的方式使用许多便利方法公开它(lxml的XPath支持为我节省了大量代码)。在解析之后,程序当然可以继续将树转换为更简单的数据结构,使数据实际建模更好。 根据您想要表示的内容,哪些数据结构是可能的和合理的(例如,如果您滥用XML作为平面键值存储,您确实可以继续将树转换为字典)。

答案 1 :(得分:0)

这完全取决于您在XML中使用的数据类型,您需要处理的处理类型,您需要从中生成什么类型​​的输出等。