xml - 我应该如何在 Perl 中解析大型 XML 文件?

标签 xml perl sax

像下面的代码那样读取 XML 数据是否会在内存中创建 DOM 树?

my $xml = new XML::Simple;

my $data = $xml->XMLin($blast_output,ForceArray => 1);

对于大型 XML 文件,我应该使用 SAX解析器,带有处理程序等?

最佳答案

对于大型 XML 文件,如果文档适合内存,您可以在 DOM 模式下使用 XML::LibXML,或者使用拉模式(参见 XML::LibXML::Reader )或 XML::Twig (我写的,所以我有偏见,但它通常适用于太大而无法放入内存的文件)。

我不是 SAX 的粉丝,它很难用而且实际上很慢。

关于xml - 我应该如何在 Perl 中解析大型 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1838745/

相关文章:

C++ 在没有 CLR 的情况下读/写 XML

xml - 将 NCPDP 脚本从 XML 转换为 EDI

mysql - Perl 和 MySQL 插入 XML 字符串导致错误 2006 "server gone away"

java - Perl YAML::Syck 编码的字符串,如何使用 JYaml 在 Java 中正确解码?

java - 获取第一个标签 Sax 解析器

c# - 用于使用反射编写脚本的 XML SAX 解析器

java - XML 解析出现细微错误?

java - Freemarker - 从 flt 模板和 java 方法生成 xml

perl - 有人对 Perl5i 有经验吗?

java - 按元素对 XML 数据进行排序?