供应商提供1MB XML文件,每分钟更新一次。我需要每分钟使用此信息更新我的数据库以获得最佳结果。
XML文件代表一个简单的平面表结构,我在mysql中重复了这个结构。
我的mysql表包含的数据多于XML文件(更多行和更多列)...尽管供应商对数据进行了更新,但我的信息必须保持持久。
XML和MySQL表共享相同的密钥,因此有一条明确的途径可以通过自定义代码来实现此更新......
我的问题是,是否有现有的库或工具可以处理大部分内容......
例如: * MySQL功能 * PHP或Perl库。
我已经尝试了相当多的谷歌搜索...但我的关键字" mysql","解析"," xml"是如此常见,我最终得到了很多无关的结果......对于更好的搜索术语的想法也将受到赞赏。
答案 0 :(得分:2)
当你说你“在mysql中重复”时,你的意思是你已经将整个XML文件存储在mysql表列中了吗?如果是这样,您可以尝试使用存储过程中的MySql XML functions来处理XML数据。
但使用PHP的SimpleXML可能要容易得多。您将使用PHP读取该文件,遍历SimpleXML结构中的数据以提取您要更新的数据,然后使用它来更新MySQL表中的相应行。
答案 1 :(得分:1)
数据不多,因此使用XML::Simple
不会导致过多的内存消耗。它的工作原理是将XML数据转换为哈希值,然后可以用来填充数据库。
要访问和更新MySQL数据库,请将DBI
与XML::Simple
生成的哈希结合使用。