加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读