Johannes: XML::Parser, Style Tree bzw. Objects

Beitrag lesen

Hi,
ich möchte eine XML-Datei mit dem Parser auslesen und dabei am liebsten den Objects-Style oder aber auch den Tree-Style verwenden. Alle Beispiele, die ich dazu gefunden habe, sehen folgendermaßen aus:

initialize parser and read the file

use XML::Parser;
$parser = new XML::Parser( Style => 'Tree' );
my $tree = $parser->parsefile( shift @ARGV );

dump the structure

use Data::Dumper;
print Dumper( $tree );

When run on the file in Example 6-4, it gives this output:

$tree = [
'preferences', [
{}, 0, '\n',
'font', [
{ 'role' => 'console' }, 0, '\n',
'size', [ {}, 0, '9' ], 0, '\n',
'fname', [ {}, 0, 'Courier' ], 0, '\n'
], 0, '\n',
'font', [
{ 'role' => 'default' }, 0, '\n',
'fname', [ {}, 0, 'Times New Roman' ], 0, '\n',
'size', [ {}, 0, '14' ], 0, '\n'
], 0, '\n',
'font', [
{ 'role' => 'titles' }, 0, '\n',
'size', [ {}, 0, '10' ], 0, '\n',
'fname', [ {}, 0, 'Helvetica' ], 0, '\n',
], 0, '\n',
]
];

Leider weiß ich nicht, wie ich jetzt auf die eizelnen Elemente zugreifen kann. Da wird immer nur die gesamte Struktur ausgegeben, aber das hilft mir überhaupt nicht weiter.

Ich hoffe, Ihr könnt mir helfen.

Gruß
Johannes