您的当前位置:首页正文

perl解析xml经典案例

2022-09-23 来源:步旅网


===============================================

ORACLE

134.175.7.36

1521

odsdb2

read_any_table

10667676667a7

ORACLE

134.175.6.182

1521

bill1

edwuse

0686f67677b36383a

==============================================

########以上是conn.xml文件的内容下面是代码############

#!/usr/bin/perl

######################################################################

#*Function: 解析xml

#*Create Date:2010-09-25

#*Creator: wangxiang

#*modify:

######################################################################

use strict;

use XML::Simple;

use Data::Dumper;

######################################################################

my $data=XMLin(\"conn.xml\");

#******************************************************

#* 递归解析xml函数

#******************************************************

sub parseXML{

my $tmpobj=$_[0];

my $key;

my $value;

my $tmpdata;

if(ref($tmpobj) eq \"HASH\"){

foreach $key (keys(%$tmpobj)){

print \"keys--$key\\n\";

$tmpdata=$tmpobj->{$key};

parseXML($tmpdata);

}

}elsif(ref($tmpobj) eq \"ARRAY\"){

foreach $value (@$tmpobj){

parseXML($value);

}

}else{

print \"metadata is:${tmpobj}\\n\";

}

}

#******************************************************

#* main函数

#******************************************************

sub main{

print Dumper($data).\"\\n\";

parseXML($data);

return 0;

}

######################################################################

# Program Section

open(STDERR, \">&STDOUT\");

exit(main());

因篇幅问题不能全部显示,请点此查看更多更全内容