example: 1.xml
<?xml version="1.0"?>
<results fID="4769">
<branch>edream2.1-feature-interactive-timescape-Widget</branch>
<branch>edream2.1-feature-interactive-timescape-Widget</branch>
</results>
#!/usr/bin/perl -w use 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 总结以上是内存溢出为你收集整理的perl 解析xml全部内容,希望文章能够帮你解决perl 解析xml所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)