2014-11-04 116 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') 
} 

我紅色的perldoc有關警告http://perldoc.perl.org/warnings.html和發現了'Cathegory hiearchy',但我不知道這個警告在哪個類別中。

你知道嗎?

請問您知道那些ParserDetail爲您提供了什麼?

+0

不要這樣做。有警告是有原因的。要麼解決問題,要麼只是使用不同的XML解析器。我建議XML :: Twig作爲選項。 – Sobrique 2014-11-04 13:45:27

+0

事實上,我甚至不知道那些解析器細節是什麼。無知是不好的! – 2014-11-04 13:48:30

+1

http://perl-xml.sourceforge.net/faq/#parserdetails.ini – Sobrique 2014-11-04 13:49:47

回答

2

儘管它的名字,XML::Simple是非常難以正確工作,你會好得多使用XML::TwigXML::LibXML來代替。

XML::Simple警告您沒有可用的SAX解析器配置。由於XML::Parser比SAX選項更快,更可靠,所以我建議您告訴XML::Simple來代替它。您可以通過添加

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

到您的程序的頂部,在use XML::Simple之後。

您可能還需要安裝XML::Parser,因爲它不是預先安裝的核心模塊之一。

+0

確實,XML :: Simple是XML應用程序的確切形式並不重要... – 2014-11-05 10:47:22