2014-11-04 2 views
1

При использовании XML::Simple, я всегда получаю предупреждениеИзбегайте "не смог найти parserDetail.ini" предупреждения

could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.8.8/XML/SAX 

Я хотел бы сделать что-то вроде

{ 
no warning qw(insert_your_magic_here); 
my $hash_ref = XMLin('my_file.xml') 
} 

I красного perldoc о предупреждении http://perldoc.perl.org/warnings.html и нашел «Cathegory hiearchy», но я не знаю, в какой категории это предупреждение.

Знаете ли вы?

Возможно, вы знаете, для чего предназначены эти ParserDetail?

+0

Не делайте этого. Предупреждения существуют по какой-то причине. Либо устраните проблему, либо просто используйте другой синтаксический анализатор XML. Я бы предложил XML :: Twig в качестве опции. – Sobrique

+0

На самом деле, я даже не знаю, для чего нужны эти детали парсера. Незнание плохо! –

+1

http://perl-xml.sourceforge.net/faq/#parserdetails.ini – Sobrique

ответ

2

Несмотря на свое название, XML::Simple чрезвычайно сложно нормально работать, и вам будет намного лучше использовать XML::Twig или XML::LibXML.

XML::Simple предупреждает вас о том, что нет полезной конфигурации анализатора SAX. Поскольку XML::Parser быстрее и надежнее, чем опции SAX, я предлагаю вам вместо этого использовать XML::Simple. Вы можете сделать это, добавив

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

в верхней части вашей программы, сразу после use XML::Simple.

Возможно, вам также понадобится установить XML::Parser, так как он не является одним из предустановленных модулей ядра.

+0

Да, действительно, XML :: Simple для приложений, где точная форма XML не важна ... –

 Смежные вопросы

  • Нет связанных вопросов^_^