什么是Perl最好的XML解析器?

Xet*_*ius 32 xml perl libxml2

我尝试了很多Perl XML Parsers.我对Sablotron Parser很感兴趣,但安装在Windows机箱上真是太痛苦了.目前我已经开始使用XML :: LibXMLXML :: LibXSLT这两者似乎都做我需要的一切.

它们似乎也很标准.是否有比这更好的XML解析器?

mmc*_*ole 24

我觉得你用得很好. XML :: LibXML,Matt Sergeant和Christian Glahn与Daniel Velliard的libxml2的Perl接口是我所知道的更快的XML解析器之一.


小智 12

正如人们所说,这真的取决于你的需求.为了解析大小约为100Mb的XML文件(来自TAIR的基因注释,每个染色体1个文件),我使用了mirod的XML :: Twig模块,它允许你设置回调来解析你感兴趣的元素,将每个子文档呈现为一个XML :: Simple树.它结合了SAX解析器(将文件作为流扫描)与DOM解析器(使用有趣的部分更轻松地工作)的优点.


Joe*_*nte 10

如果您需要速度,功能或功能,XML :: LibXML就是您的选择.但是,如果您追求易用性,则XML :: Simple是一种可行的替代方案.


小智 5

根据我的经验,XML :: Simple最适合快速和脏的XML解析.我们使用它来解析来自第三方的数据,这些数据并不总是符合XML标准.XML :: Simple会抛出信息性错误,让您非常快速地运行.


Zvi*_*ika 5

(实际上这不是答案,而是评论-但是,我无法发表评论......)

XML::Simple 已在此处提及。
(我知道几年前很少,但今天出现在谷歌......)

但是,它的站点(http://metacpan.org/pod/XML::Simple)现在说:

本模块的状态

不鼓励在新代码中使用此模块。其他模块可提供更直接和一致的接口。特别是,强烈推荐使用 XML::LibXML。

这个模块的主要问题是大量的选项和这些选项交互的任意方式——通常会产生意想不到的结果。

欢迎使用带有错误修复和文档修复的补丁,但不太可能添加新功能。