Perl 之 Stream XML::Parser

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

use XML::Parser;

my $parser = XML::Parser->new( Handlers => {Start=>\&handle_start,End=>\&handle_end,});
$parser->parsefile( "yourXML.xml" );

my @element_stack;          # remember which elements are open

sub handle_start {
    my( $expat,$element,%attrs ) = @_;

    my $line = $expat->current_line;

    print "$element starting on # $line!\n";

    push( @element_stack,{ element=>$element,line=>$line });

    if( %attrs ) {
        print "Attributes:\n";
        while( my( $key,$value ) = each( %attrs )) {
            print "\t$key => $value\n";
         }
    }
}

sub handle_end {
    my( $expat,$element ) = @_;

    my $element_record = pop( @element_stack );
    print "$element started on # ",$$element_record{ line };
}

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...