mysql - 导入 XML 文件以创建 DB Schema 并输入信息

标签 mysql xml xml-parsing relational-database

我有一个来自几个数据集的 XML 文件,我需要将其存储在关系数据库中,比如 MySQL。 数据库模式应根据 XML 文件的字段自动创建。 做这个的最好方式是什么? 我是 XML 处理和解析方面的新手,如果可能的话,我会感谢教程链接。

最佳答案

这不是一个简单的问题。 XML 和关系数据库是非常不同的存储系统。

XML 在存储数据方面非常灵活。它是分层的而不是关系的,并且在没有匹配的 XSD 模式文件的情况下,不关心什么元素中存在什么属性。这与需要表和列结构并且不能处理给定表中的新(例如)新列的关系数据库非常不同。如果 XML 数据源自关系数据库,它的结构可能更类似于关系数据库结构,但也可能不同(例如,它可能已从关系转换为层次表示)。

XML 不包含任何数据类型信息。所有字段都存储为文本,非文本值序列化为文本格式。因此,构建数据库模式所需的大部分信息都缺失了。

XML 也没有关系完整性约束。您可以通过查看 XML 文件的分层表示结构来“猜测”其中的一些约束,但您无法知道必须执行哪些约束。

关于mysql - 导入 XML 文件以创建 DB Schema 并输入信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476335/

相关文章:

c# - dbup 不会自动创建 schemaversions 表

php - Symfony2 : Left Join producing wrong query

java - 在 Java 中将 JSON 转换为 XML

jquery - 从媒体 :content in RSS XML feed with jQuery 获取 URL

mysql - 存储过程 OUT 返回空值

php - 使用 php 从数据库输出数据的最佳方法是什么?

php - 将 SimpleXML 导入 PHP。我需要关闭文件吗?

xml - 在 marklogic 服务器中获取不同的结果集

php - 读取 xml 文件中的特定标签,而不使用任何类型的 php 库或扩展

java - 如何获取给定节点的属性?