My environment is:
Solaris 2.6
Perl 5.6.0
Apache 1.3.12
Mod-perl 1.24
XML::Parser 2.27
XML::DOM 1.25
An example of the XML I am parsing is:
Level1 Text
Text at Level2a
Text at Level2b
####
my $parser = new XML::DOM::Parser;
$doc = $parser->parse( $buf ) or die "Unable to parse document";
$root = $doc->getFirstChild();
scanner($root);
sub scanner
{
my ($rt) = @_;
my $i;
my $nde;
my $ndeLst = $rt->getChildNodes();
my $numndes = $ndeLst->getLength() - 1;
for ( $i = 0; $i < $numndes; $i++ )
{
$nde = $ndeLst->item( $i );
if ($nde->getNodeType() == TEXT_NODE )
{
$log->info( $i.$nde->getNodeValue());
print $i,"TEXT", $nde->getData();
}
if ($nde->getNodeType == ELEMENT_NODE)
{
$log->info( $i.$nde->getNodeName());
print $i, "ELEMENT ", $nde->getNodeName(), "\n";
}
scanner( $nde );
}
}
##
##
0TEXTLevel1 Text
1ELEMENT Level2a
2TEXT
3ELEMENT Level2b