perl 解析xml-Biotech
example: 1.xmledream2.1-feature-interactive-timescape-widget
edream2.1-feature-interactive-timescape-widget
#!/usr/bin/perl -wuse XML::Simple;use Data::Dumper;my $xml = new XML::Simple;my $data = $xml->XMLin("1.xml"); print Dumper($data); if(exists $data->{branch}){ my @array = ref($data->{branch}) ? @{$data->{branch}} : ($data->{branch}); print @array;} #-------------------------------------------------------------------------------------#!/usr/bin/perl -w use XML::Simple;use Data::Dumper;my $xml=XML::Simple->new(ForceArray => 1); my $data=$xml->XMLin("1.xml");print Dumper($data);while(my($a,$b)=each %$data) { if( ref($b)) { foreach my $i(@$b) { print "$a\t$i\n"; } }else{ print "$a\t$b\n";} } PS:有时候xml结构很复杂,所以不一定就是简单的hash,shuzu格式。。所以需要使用ref来判断返回的值是array,还是hash,还是空白 查看: ref语法perldoc -f ref SCALAR ARRAY HASH CODE REF GLOB LVALUE FORMAT IO VSTRING Regexp
页:
[1]