我尝试了很多Perl XML Parsers.我对Sablotron Parser很感兴趣,但安装在Windows机箱上真是太痛苦了.目前我已经开始使用XML :: LibXML和XML :: 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解析器(使用有趣的部分更轻松地工作)的优点.
小智 5
根据我的经验,XML :: Simple最适合快速和脏的XML解析.我们使用它来解析来自第三方的数据,这些数据并不总是符合XML标准.XML :: Simple会抛出信息性错误,让您非常快速地运行.
(实际上这不是答案,而是评论-但是,我无法发表评论......)
XML::Simple 已在此处提及。
(我知道几年前很少,但今天出现在谷歌......)
但是,它的站点(http://metacpan.org/pod/XML::Simple)现在说:
本模块的状态
不鼓励在新代码中使用此模块。其他模块可提供更直接和一致的接口。特别是,强烈推荐使用 XML::LibXML。
这个模块的主要问题是大量的选项和这些选项交互的任意方式——通常会产生意想不到的结果。
欢迎使用带有错误修复和文档修复的补丁,但不太可能添加新功能。