====== XML::Simple ======
XML::Simple - Easy API to maintain XML (esp config files)
* http://cpan.uwinnipeg.ca/htdocs/XML-Simple/XML/Simple.html
* 可正常透過 perl -MCPAN -e shell 安裝
* 執行時會出現 could not find ParserDetails.ini 訊息, 可透過以下語法解決
perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
===== 使用 Sample =====
#!/usr/bin/perl
use XML::Simple qw(:strict);
$ref = XMLin('/tmp/t.xml',
ForceArray => 1,
KeyAttr => {},
);
$receiverlist=$ref->{receiverlist}[0];
$i=0;
foreach $receiverinfo (@{$receiverlist->{object}}) {
$i++;
print("$i:");
$orgid=$receiverinfo->{orgid}[0];
$unitid=ref($receiverinfo->{unitid}[0]) eq "HASH"?"":$receiverinfo->{unitid}[0];
print("[$orgid$unitid]\n");
}
exit;
**/tmp/t.xml**
:
:
:
:
**執行結果**
[root@rdtest02 tmp]# perl t1.pl
1:[341000000AU000020]
2:[313000000G]
安裝 XML::LibXML 過程出現找不到 libxml2 的問題, 但在 CentOS 內已經安裝完成 libxml2 以及 libxml2-devel 套件, 所以就放棄使用 XML::LibXML 這模組.
===== 參考網頁 =====
* [[http://perl-xml.sourceforge.net/faq/#parserdetails.ini|3.18. "could not find ParserDetails.ini"]]
* [[http://search.cpan.org/dist/perl/pod/perlfunc.pod#ref|ref EXPR]]
* [[http://www.perlmonks.org/index.pl?node_id=490846|Stepping up from XML::Simple to XML::LibXML]]
{{tag>perl cpan xml}}