Mega Code Archive

 
Categories / Perl / XML
 

The XML

#With XML data, the main conditions include: #The start of an XML tag  #The end of an XML tag  #The data between the start and end of an XML tag  #The start of the XML document  #The end of the XML document  #Parameters Passed to Your XML Callback Routines  #Routine      Parameters #Start        XML::Parser object reference, element name, attribute, value. #End          XML::Parser object reference, element name #Char         XML::Parser object reference, text data #Init         XML::Parser object reference #Final        XML::Parser object reference #!/usr/bin/perl -w      use XML::Parser;   $filename = 'yourXML.xml';      print "Opening $filename\n";      $parser = new XML::Parser(Handlers => {Start => \&tag_start,                             End   => \&tag_end,                             Char  => \&tag_char_data} );      $parser->parsefile($filename);      # Handles the start of a tag.   sub tag_start {      # Use shift to pull off elements.      my($obj)  = shift;      my($elem) = shift;      my(%attrs) = @_;      print "<$elem ";            my(@keys) = keys( %attrs );      my($key);         foreach $key (@keys) {         print " $key=$attrs{$key} ";      }            print ">\n";   }  # Handles the end of a tag.   sub tag_end {      # Use shift to pull off elements.      my($obj)  = shift;      my($elem) = shift;      print "</$elem>\n";        }   # Handles character data between the   # start and end of a tag.   sub tag_char_data {      # Use shift to pull off elements.      my($obj)  = shift;      my($data) = shift;      # Note: no need for \n here in most documents.      print "$data";   }