Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 处理XML数据的理想数据结构_Python - Fatal编程技术网

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

Python 处理XML数据的理想数据结构,python,Python,也许这是一个愚蠢的问题,但我通常从中学到很多 我正在开发一个大量处理XML的软件,包括作为输入和输出的XML,在这两者之间会发生大量的处理 我的第一个想法是在内部使用dict作为内部数据结构,然后按照我的方式进行读写 你们怎么想?python方面是否有更好的方法?这完全取决于XML中的数据类型、需要对其进行何种处理、需要从中生成何种输出等。这完全取决于XML中的数据类型、需要对其进行何种处理,您需要从中生成什么类型的输出,等等。通常,XML文档是一个树,与子节点相比,它具有许多铃铛和哨子属性,将

也许这是一个愚蠢的问题,但我通常从中学到很多

我正在开发一个大量处理XML的软件,包括作为输入和输出的XML,在这两者之间会发生大量的处理

我的第一个想法是在内部使用dict作为内部数据结构,然后按照我的方式进行读写


你们怎么想?python方面是否有更好的方法?

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

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

通常,XML文档是一个树,与子节点相比,它具有许多铃铛和哨子属性,将文本与子节点、实体、XML声明、注释等混合在一起。这应该留给现有的成熟库来处理——对于Python来说,人们普遍认为这是最方便的选择,其次是stdlib模块,其中一个lxml模块lxml.etree受到了极大的启发,成为例外


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

一般来说,XML文档是一棵树,与子节点相比,它具有许多铃铛和哨子属性,将文本与子节点、实体、xml声明、注释等混合在一起。这应该留给现有的成熟库来处理——对于Python来说,人们普遍认为这是最方便的选择,其次是stdlib模块,其中一个lxml模块lxml.etree受到了极大的启发,成为例外


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

我认为这是一件很好的事情,但是您打算用XML做什么类型的事情呢?它需要快吗?你是在生成它还是只是在阅读它?等等,我认为这是一件很好的事情,但是您打算用xml做什么类型的事情呢?它需要快吗?你是在生成它还是只是在阅读它?等