使用perl处理大型xml文件

前端之家收集整理的这篇文章主要介绍了使用perl处理大型xml文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个大约200MB的 XML文件,我希望逐行提取所选信息.

我用perl编写了一个脚本,使用模块XML :: LibXML解析文件内容,然后循环内容并逐行提取信息.这是无效的,因为它将整个文件读入内存,但我喜欢LibXML,因为我可以使用我需要的信息的XPath位置.

我可以获得有关如何使我的代码更有效的建议.

通过搜索我已经知道XML :: SAX和XML :: LibXML :: SAX,但我找不到解释用法的文档,它们似乎不包括任何类型的XPath寻址结构.

解决方法

您是否考虑过 XML::Twig模块,它对于大型文件处理更有效,正如它在 CPAN模块描述中所述:

名称

XML::Twig – A perl module for
processing huge XML documents in
tree mode.

概要

It allows minimal resource (cpu and
memory) usage by building the tree
only for the parts of the documents
that need actual processing,through
the use of the twig_roots and
twig_print_outside_roots options.

猜你在找的Perl相关文章