XML::Simple -> Parser 2 niveaux
Bonjour,
apres de multiples recherches, je n'arrive pas a trouver une solution a mon probleme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<?xml version="1.0" encoding="iso-8859-1" ?>
<xml>
<file name="file1">
<groups>
<group>Groupe1</group>
</groups>
<segments>
<segment >Seg1</segment>
<segment >Seg2</segment>
</segments>
</file>
<file name="file2">
<groups>
<group>Group2</group>
</groups>
<segments>
<segment >Seg1</segment>
<segment >Seg2</segment>
<segment >Seg3</segment>
</segments>
</file>
</xml> |
Je cherche donc à parser mon fichier xml afin d'obtenir à l'écran:
Code:
1 2 3 4 5 6 7 8 9
|
File1
Seg1
Seg2
File2
Seg1
Seg2
Seg3 |
Voici ce que j'ai essaye de faire:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
use XML::Simple;
use Data::Dumper;
# creation de l'object:
my $xml = new XML::Simple;
# On lit notre fichier xml
my $data = $xml->XMLin("fichier.xml");
#Je passe en revue chaque fichier (branche "file" dans le xml)
foreach my $file_tab (@{$data->{file}}){
print $file_tab->{name}."\n";
foreach my $segment_tab (@{$file_tab->{segments}->{segment}}){
print $segment_tab->{content}."\n";
}
} |
j'ai donc essaye de mettre de boucle mais j'ai une erreur sur la deuxieme boucle
Merci d'avance si vous avez une solution ou un exemple
++