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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |