Bonjour,
J'ai un fichier xml je veux le parcourir et remplir et récupérer les données dans un tableau
Voici un extrait du mon fichier output.xml
<Vocabulaire>
<Mot Num="0" Nom="أَيْ">
<caractere type="CL">أ</caractere>
<caractere type="VC">َ</caractere>
<caractere type="CL">ي</caractere>
<caractere type="VC">ْ</caractere>
</Mot>
<Mot Num="1" Nom="تْفَضَّلْ">
<caractere type="CS">ت</caractere>
<caractere type="VC">ْ</caractere>
<caractere type="CL">ف</caractere>
<caractere type="VC">َ</caractere>
<caractere type="CS">ض</caractere>
<caractere type="VC">َ</caractere>
<caractere type="CS">ل</caractere>
<caractere type="VC">ْ</caractere>
</Mot>
</Vocabulaire>
Et voici mon code
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
 
#!/usr/bin/perl
 
 
use Data::Dumper;
use XML::Twig;
use File::Spec;	
 
#-----------------------------------------------------------
#                     MAIN
#-----------------------------------------------------------
 
my $goodFileXML = 'D:\\Memoire Mastere\\Script\\Script_final\\Script_Grapheme-phoneme\\output.xml';
my $Folder      = 'D:\\Memoire Mastere\\Script\\Script_final\\Script_Grapheme-phoneme';
 
my $RepBase = 'D:\\Memoire Mastere\\Script\\Script_final\\Script_Grapheme-phoneme';
my $FicAraOut1 = File::Spec->catfile( $RepBase, 'outregles.txt' );
open (OUT_Aran, '+>:encoding(UTF-8)', $FicAraOut1 ) or die "Impossible ouvrir fichier $FicAraOut1 en sortie\n"; 
 
#Recuperer la liste des path des fichiers dans une hashtable
 
getpath( $goodFileXML, $Folder );
 
print OUT_Aran "\n";
 
# Fonctions
 
#-----------------------------------------------------------
# On liste les path de chaque fichier *.xml dans une hashFile
#-----------------------------------------------------------
sub getpath {
 
  #retourne la hashMap avec le titre N° et le nom de fichier
  my ( $goodFileXML, $Folder ) = @_;
  my $ddate = "";                                                 #passer la date de revision en parametre
  my $refHash = extractTitle( $goodFileXML, \$ddate, $Folder );
  return $refHash;
}
 
sub extractTitle {
  my ( $ficName, $refDate, $Folder ) = @_;
  %hashFile = ();
 
  # Utilisation des handlers
  my $twig = new XML::Twig( Twig_handlers => { 'Mot' => \&Mot, }, );
 
  # creation d'un objet twig
  $twig->parsefile($ficName);
 
  return;    #retourner la référence sur la hashmap
}
 
 @tabcar=();
 @tabtype=();
 my $size=scalar(@tabcar);
 my $sizes=scalar(@tabtype);
sub Mot
{
my($twig,$mot)= @_;
print OUT_Aran "Nom  : ", $mot->att('Nom'), "\n";
 
foreach my $TwmotFils ( $mot->children("caractere")) 
{
    print OUT_Aran "caractere :  ";
	push(@tabcar,$TwmotFils->text());
	for my $i(0..$size-1)
	{
	     print OUT_Aran $tabcar[$i];
	}
	print OUT_Aran "type : ";
	push(@tabtype,$TwmotFils->att('type'));
	for my $j(0..$sizes-1)
	{
	     print OUT_Aran $tabtype[$j];
	}
}
 
}
Merci de m'aider