在 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 并与现有模型数据集进行比较的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中读取和解析 XML 文件?

如何在 C# 中解析非常大的 XML 文件? [复制]

解析后无法取消列出 XML 文件

视图解析器的作用 -----bean

利用XML和ZIP格式解析漏洞实现RCE

04 django 框架 路由分发,反向解析,上传文件,