Bonjour,

apres de multiples recherches, je n'arrive pas a trouver une solution a mon probleme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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

++