找不到ParserDetails.ini

时间:2014-02-25 19:12:09

标签: xml perl xml-simple

could not find ParserDetails.ini in /reports/ie/lib/cpan/XML/SAX
 at /reports/ie/lib/cpan/XML/SAX.pm line 212
        XML::SAX::do_warn('XML::SAX', 'could not find ParserDetails.ini in /reports/ie/lib/cpan/XML/...') called at /reports/ie/lib/cpan/XML/SAX.pm line 62
        XML::SAX::load_parsers('XML::SAX') called at /reports/ie/lib/cpan/XML/SAX.pm line 115
        XML::SAX::parsers('XML::SAX') called at /reports/ie/lib/cpan/XML/SAX/ParserFactory.pm line 18
        XML::SAX::ParserFactory::new('XML::SAX::ParserFactory') called at /reports/ie/lib/cpan/XML/SAX/ParserFactory.pm line 26
        XML::SAX::ParserFactory::parser('XML::SAX::ParserFactory', 'Handler', 'XML::Simple=HASH(0x162c6e30)') called at /reports/ie/lib/cpan/XML/Simple.pm line 358
        XML::Simple::build_tree('XML::Simple=HASH(0x162c6e30)', 'changelog.xml', 'undef') called at /reports/ie/lib/cpan/XML/Simple.pm line 308
        XML::Simple::build_simple_tree('XML::Simple=HASH(0x162c6e30)', 'changelog.xml', 'undef') called at /reports/ie/lib/cpan/XML/Simple.pm line 227
        XML::Simple::parse_file('XML::Simple=HASH(0x162c6e30)', 'changelog.xml') called at /reports/ie/lib/cpan/XML/Simple.pm line 195
        XML::Simple::XMLin('XML::Simple=HASH(0x162c6e30)', 'changelog.xml') called at perlXML_test.pl line 11

1 个答案:

答案 0 :(得分:6)

这是一个警告,说你没有使用任何用于XML :: SAX的SAX解析器,除了缓慢而错误的XML :: SAX :: PurePerl。

为XML :: SAX安装解析器将更新文件,并在必要时创建它。

cpan XML::LibXML::SAX

您还可以告诉XML :: Simple使用XML :: Parser而不是XML :: SAX。

$XML::Simple::PREFERRED_PARSER = 'XML::Parser';

将环境变量XML_SIMPLE_PREFERRED_PARSER设置为相同的值将具有相同的效果。

XML :: Parser比几年前基准测试时退出的任何XML :: SAX解析器的后端要快得多。但它并没有处理命名空间。

就个人而言,我避免使用XML :: Simple。它是最难使用的XML解析器。我使用XML :: LibXML。