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

2024-05-13 10:03:34 发布

您现在位置:Python中文网/ 问答频道 /正文

也许是个愚蠢的问题,但我通常能从中学到很多。:)

我正在开发一个处理大量XML的软件,既可以作为输入,也可以作为输出,在这两者之间会发生大量的处理。你知道吗

我的第一个想法是在内部使用dict作为内部数据结构,然后按照我的方式处理读写过程。你知道吗

你们怎么看?有更好的方法吗,python-wise?你知道吗


Tags: 方法数据结构软件过程方式xmldictwise
2条回答

XML文档通常是一棵树,树上有许多铃铛和哨子(属性与子节点、文本与子节点的混合、实体、XML声明、注释等等)。处理这些问题应该留给现有的、成熟的库—对于Python来说,lxml是最方便的选择,其次是stdlibElementTree模块(其中一个lxml模块lxml.etree受到了很大的启发,incompabilities是例外)。你知道吗

它们处理所有这些复杂性,并通过许多方便的方法(lxml的XPath支持为我节省了大量代码)以某种可处理的方式公开它。在解析之后,程序当然可以继续将树转换成更简单的数据结构,更适合实际建模的数据。什么样的数据结构是可能的和合理的,这取决于您想要表示什么(例如,如果您误用XML作为平面键值存储,那么您确实可以继续将树转换为字典)。你知道吗

这完全取决于XML中的数据类型、需要对其进行何种处理、需要从中产生何种输出等等

相关问题 更多 >