Perl 简单读写XML
发布时间:2020-12-15 23:46:37 所属栏目:大数据 来源:网络整理
导读:使用XML::SImple来读写XML t.xml ?xml version="1.0" ?rtsp_execute data name="xcoder" tag="abc" id="001"StreamingMediaTranscoder.exe/data data name="src.ip" tag="123" id="002"10.239.254.202/data data name="src.rtsp_port"8554/data data name="o
|
使用XML::SImple来读写XML t.xml <?xml version="1.0" ?>
<rtsp_execute>
<data name="xcoder" tag="abc" id="001">StreamingMediaTranscoder.exe</data>
<data name="src.ip" tag="123" id="002">10.239.254.202</data>
<data name="src.rtsp_port">8554</data>
<data name="options">-u SPEED -stats</data>
<data>XXXXXXXXXXXXXXXXXXXXXXXXX</data>
<param name="kill_at_session_end">1</param>
<param name="session_liveness_timeout">0</param>
</rtsp_execute>
读xml use strict;
use warnings;
use XML::Simple;
use Data::Dumper;
use 5.010;
my $xmlfile = "t.xml";
my $xml = XML::Simple->new(KeyAttr=>"",ForceArray => 1);
my $tree = $xml->XMLin($xmlfile);
say Dumper($tree);
my @datas = @{$tree->{"data"}};
my $len = @datas;
say "data length = $len";
foreach(@datas){
if(ref($_) eq 'HASH'){
my %itmes = %{$_};
say $itmes{'content'};
}else{
say $_;
}
}
???? 输出结果 $VAR1 = {
'data' => [
{
'id' => '001','name' => 'xcoder','content' => 'StreamingMediaTranscoder.exe','tag' => 'abc'
},{
'content' => '10.239.254.202','tag' => '123','id' => '002','name' => 'src.ip'
},{
'name' => 'src.rtsp_port','content' => '8554'
},{
'content' => '-u SPEED -stats','name' => 'options'
},'XXXXXXXXXXXXXXXXXXXXXXXXX'
],'param' => [
{
'name' => 'kill_at_session_end','content' => '1'
},{
'name' => 'session_liveness_timeout','content' => '0'
}
]
};
data length = 5
StreamingMediaTranscoder.exe
10.239.254.202
8554
-u SPEED -stats
XXXXXXXXXXXXXXXXXXXXXXXXX 写xml
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
