PHP - 将simplexml_load_file中的值存储在数据库中

时间:2011-09-15 23:04:58

标签: php mysql serialization

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

3 个答案:

答案 0 :(得分:0)

您可以使用serialize()对其进行序列化,然后使用unserialize()进行反序列化。但是,您通常更好normalising your data到列/表/等中,因此您可以使用数据库的强大功能来查询数据。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

但我建议Alex回答,将数据规范化为数据库中的正确列/表。

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

表:ItemList

|id|name|value|
|1 |test|42   |
|2 |etc | ... |