Dear Michael, dear Massimilano

I attache one file with XML::Twig.
It will print out each xpath of a given tag, which can be found in a given 
xml-file. 

Greetings
Harald

-- 
Dr. Harald Wallus
Results GmbH 
Am Listholze 78, D-30177 Hannover 
Tel: +49(0)511 90 95 1-23  Fax: +49(0)511 90 95 = 1-90 
Email: [EMAIL PROTECTED] 
Internet: http://www.results-hannover.de 
#!/usr/bin/perl -w
# Wallus 2002-11-19


use strict;
use XML::Twig;
if (!($#ARGV==1))
   {
   print "usage:\n $0 <idoc im xml-Format> <Suchbegriff> \n";
   exit;
   }
my $parsefile=$ARGV[0];
my $searchname=$ARGV[1];

my $twig= new XML::Twig( );
$twig->parsefile($parsefile);

#print "\n";

my @results;
searchtagname($twig->root,\@results,$searchname);

#print "\nErgebnis von searchtagname:\n";
print "Anzahl: ", $#results+1, "\n";
for my$i (0..$#results)
{
   print " $searchname ", $results[$i], "\n";
}

#my @message6=$twig->root->get_xpath($results[0]);
#print"\n result6: \n";

#$message6[0]->print; print "\n";


sub searchtagname
{
   my ($twigroot,$result,$search)=@_;
   my $elt=$twigroot;
   while( $elt= $elt->next_elt( $twigroot)) ## Das sind alle Kinder von root
   {  #print "\n here we are \n";
      #$elt->print;
      my $mygi=$elt->gi;
      #print "\n That it was: ", $elt->gi,"  ",$mygi," ",$search,"  ",$elt->path, "\n";
      ##Entspricht das gi dem such-Begriff, fuege es dem Array zu
      if ($mygi=~ /^$search$/)
         {
         #print "We find something XXXXXXXXXXXXXXXXXXXXXXx\n ";
         @{$result}=(@{$result},$elt->path);
         }

   }
}



Reply via email to