Oh, beide Varianten im selben Modul? Das ist interessant. Weißt Du zufällig, ob für die Baumstruktur eine interne Handler-Sammlung verwendet wird? (Wäre eigentlich logisch...)
EIn Beispiel um XML::Parser im Baummodus zu verwenden:
use XML::Parser;
$parser = new XML::Parser( Style => 'Tree' );
my $tree = $parser->parsefile( shift @ARGV );
Ausgabe der Baunstruktur
use Data::dumper;
print Dumper( $tree );
Ein bißchen einfacher Handzuhaben ist das Modul XML::Simple. Die Ausgabe der Datenstruktur ist ein wenig einfacher aufgebaut.
Es haben sich 2 Standards herauskristalliesiert, um sich durch eine Baumstruktur durchzunavigieren. Zu einem XML::DOM, das ähnlich aufgebaut ist wie das DOM unter JavaScript (Knoten, Eltern, Kinder, Geschwister). Zum anderen gibt es XML::XPath, das wie ein Verzeichnis aufgebaut ist ( /root/Knoten_1/Knoten_2/Element ). Beide Module bauen auf XML::Parser auf, welches wiederum auf expat aufbaut.
Ich habe mich bisher auch nur theoretsich eingelesen und kann daher das O'Reilly-Buch "Perl & XML" nur wärmstens weiterempfehlen.
greets
myMojito
-------------------------------------------
Mode ist eine Variable, Stil eine Konstante