使用Perl将Mysql表导出为与mysqldump格式相同的xml文件

时间:2014-12-22 21:40:11

标签: mysql xml perl

使用Perl如何将mysql表导出为xml文件,格式与mysqldump相同,使用如下命令:

mysqldump --xml -u root -proot dbname tablename >tablename.xml

我知道一些像XML :: TreePP这样的Perl模块易于使用但是当它们加载xml文件时它们必须在解析之前将整个文件加载到内存中,并且如果文件大小大于允许的进程内存将崩溃。

1 个答案:

答案 0 :(得分:1)

如果需要解析非常大的XML文档,那么特定类别的XML解析器SAX(Simple API for XML)可用作流解析器,并在解析XML文档时发出事件。 在CPAN上,您可以找到XML::LibXML::SAX(CPAN上的XML :: LibXML模块的一部分) 它实现了SAX,可用于解析大型XML文档:

Such an interface is useful if very large XML documents have to be 
processed and no DOM functions are required. By using this interface
it is possible to read data stored within an XML document directly
into the application data structures without loading the document
into memory.

您可以阅读其他SO thread about a similar problem 推荐XML::Twig的地方。