gpt4 book ai didi

python - 从 'uneven' XML 构建数据库记录的最佳方法是什么

转载 作者:行者123 更新时间:2023-11-29 14:30:33 25 4
gpt4 key购买 nike

我有一些 XML,我想使用 python 中的 lxml 方法来解析。解析完元素后,我希望能够比较一些结构化对象(寻找增量)。

我需要解析大约 50 个 XML 文件,并且 XML 中的数据采用“不均匀”形式(我不确定正确的名称是什么)。

简化的示例 XML:

<ID 1>
<parameter A>
<parameter B>
</ID 1>
<ID 2>
<parameter A>
<parameter B>
<parameter C>
</ID 2>
<ID 3>
<parameter A>
</ID 3>

我将如何创建一个合适的数据库(mySQL?)结构,我可以使用它通过 ID 隔离每个对象,并比较每个参数元素。

我不确定这是否有意义 - 我不太熟悉正确的术语。

实际的源 xml 是此处列出的所有文件:http://www.nationalarchives.gov.uk/aboutapps/pronom/droid-signature-files.htm

这些文件是过去几年更新的相同结构的版本。我不需要数据库中的所有 XML 元素,只需要一个子集,从版本号、发布日期开始,然后是在两个主要部分中找到的各个 ID 和字节模式。

将其插入 mysql 可能不是最好的方法,但我想如果我这样做,我将使用 python/html 前端来组合搜索/比较工具。

最佳答案

您问题中的关键短语是:“我不需要数据库中的所有 XML 元素,只需要一个子集”

鉴于您可以预先知道要比较的子集的所有元素,我建议使用一个表,每个数据元素有一列。这应该可以更轻松地处理您以后对数据的报告要求。

按行存储元素的另一种选择通常被认为是反模式,并且会使报告和比较变得更加困难。如果您事先不知道要比较的元素的类型(或数量),则可能需要这种策略。

编辑:更明确地说,我认为该表将包含列:ID,参数1,参数2,参数3,参数4其中,parameterx 是您正在查看的“可比较参数”之一 - 对于其中许多参数,该列可能会保留为空,因为不存在此类参数。

那么总共只有一张表,并且该表中每个 ID 对应一行。

关于python - 从 'uneven' XML 构建数据库记录的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10102299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com