在 Django 中上传 XML 文件,解析 XML 并与现有模型数据集进行比较
Posted
技术标签:
【中文标题】在 Django 中上传 XML 文件,解析 XML 并与现有模型数据集进行比较【英文标题】:Upload XML Files in Django, Parse XML & Compare with existing models dataset 【发布时间】:2022-01-08 22:42:36 【问题描述】:有人可以给我一个更好的方法来解决下面的用例吗?
-
上传 XML 文件
扫描带有特定标签的 XML 文件
以何种格式存储所需数据? (我想过构建 JSON 转储?)
我有针对不同组件的不同模型中的数据。
如何将步骤 3 中的数据与 django 模型进行比较并产生一些输出? (数据比较排序)
注意:我在第 3 步得到的 JSON 转储是所需数据的完整转储,第 4 步的数据被称为小块数据,必须将这些数据与最近上传的文件 JSON 转储进行组合和比较
【问题讨论】:
【参考方案1】:-
我会定义一个模型,您可以在其中存储上传的文件和一个表单。
(https://docs.djangoproject.com/en/3.2/topics/http/file-uploads/#handling-uploaded-files-with-a-model)
使用 lxml etree 或 generateDS 扫描 XML 文件。 (https://www.davekuhlman.org/generateDS.html)
如果您使用 generateDS,您可以使用 JSON 转储或 Picklefield 来存储 XML 文件的对象
将数据存储在数据库中并在 Django 中为其编写模型。尝试使其尽可能细化,以便您可以在导入新 XML 文件时对其进行比较,并且可能仅将差异存储为 Objects with Pickle。
希望能有所帮助。
【讨论】:
以上是关于在 Django 中上传 XML 文件,解析 XML 并与现有模型数据集进行比较的主要内容,如果未能解决你的问题,请参考以下文章