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);
}
}
}