XML::Twig looks interesting, but I was hoping to stick with a more SAX-like parser rather than DOM-like or pull-parser like.
XML::Twig is super flexible, its SAX+DOM or SAX or DOM.
Rarely do you want to use the SAX feature alone, mostly its SAX+DOM (SAX+TWIG, only a little piece of DOM).
Re: XML::Twig n00b
$ perl
use XML::Twig ;
XML::Twig->new(
twig_handlers => {
'coordinates' => sub {
print $_->xpath, "\n";
print $_->trimmed_text, "\n\n";
},
},
)->xparse( "somefile.xml" );
__END__
/on/no/coordinates
ro
/on/ma/to/peia/coordinates
sham
/on/coordinates
bo
/on/coordinates[2]
<b>Asin</b> (I) - Biography
$ cat somefile.xml
<on>
<no><coordinates>ro</coordinates></no>
<ma><to><peia><coordinates>sham</coordinates></peia></to></ma>
<coordinates>bo</coordinates>
<coordinates><![CDATA[<b>Asin</b> (I) - Biography]]></coordinates>
</on>