Stream XML::Parser : SAX « XML « Perl

Home
Perl
1.Array
2.CGI
3.Class
4.Data Type
5.Database
6.File
7.GUI
8.Hash
9.Language Basics
10.Network
11.Regular Expression
12.Report
13.Statement
14.String
15.Subroutine
16.System Functions
17.Win32
18.XML
Perl » XML » SAX 




Stream XML::Parser
  

use XML::Parser;

my $parser = XML::Parser->newHandlers => {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";
        whilemy$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_recordline };
}

   
    
  














Related examples in the same category
1.Check error in SAX parser
2.Check node name in SAX paser
3.Register handlers to SAX parser
4.SAX parser handler
5.Converting a comma separated list data source to XML
6.The XML::Parser module provides a framework for parsing XML.
7.Using XML::Parser to parse xml file
8.Using XML:Simple to read and store the document
9.XML::Parasr style: Tree
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.