PHP-在数据库中存储simplexml_load_文件中的值

PHP-在数据库中存储simplexml_load_文件中的值,php,mysql,serialization,Php,Mysql,Serialization,我正在获取一个外部xml文件,并使用php中的simplexml_load_文件将其转换为一个数组。我的问题是,在mysql数据库中存储这些信息以供以后处理的最佳方式是什么?我试着把它序列化,但我相信你做不到?当我这样做时,我得到节点不再有效的错误或类似的东西。有什么建议/帮助吗?您可以使用序列化,然后使用取消序列化。但是,您通常更擅长于列/表/等,因此您可以使用数据库的功能来查询数据。如果您有一个XML文件,为什么不存储该XML并在以后一起处理呢?您可以将原始XML字符串存储到文本字段中,也许

我正在获取一个外部xml文件,并使用php中的simplexml_load_文件将其转换为一个数组。我的问题是,在mysql数据库中存储这些信息以供以后处理的最佳方式是什么?我试着把它序列化,但我相信你做不到?当我这样做时,我得到节点不再有效的错误或类似的东西。有什么建议/帮助吗?

您可以使用序列化,然后使用取消序列化。但是,您通常更擅长于列/表/等,因此您可以使用数据库的功能来查询数据。

如果您有一个XML文件,为什么不存储该XML并在以后一起处理呢?

您可以将原始XML字符串存储到文本字段中,也许可以使用mysql的compress()函数来节省空间

但我推荐Alex的答案,将数据标准化为数据库中适当的列/表

<itemList>
    <item>
        <name>test</name>
        <value>42</name>
    </item>
    ... etc
</itemList>

我尝试了序列化,但当我去取消序列化时,我会遇到一系列错误,如:警告:取消序列化():节点不再存在如果我将xml文件放入字符串并将其存储到数据库中,您会建议我序列化它吗?序列化只是将对象或其他数据类型写入字符串。所以,如果你有一个字符串,你不需要序列化它。您可以解析整个XML并将规范化值存储到单独的表中,但是如果您的目标只是存储XML以供以后处理,那么您所需要做的就是将XML字符串放入数据库中,这就是我想将整个文件/字符串转储到一个表中以便在其他时间进行处理的主要原因。因此,当我准备好处理时,我将能够规范化xml数据中的字段。
|id|name|value|
|1 |test|42   |
|2 |etc | ... |