Salut a tous,
je fais un programme ou en ce moment je combine le Perl et Xml. Mais la j´ai un probleme, apres avoir à partir de mon code formé une structure xml, je l´ecrit dans des fichiers generés par mon code aussi.
En fait je lis 3 fichiers textes par le clavier (les 3 sont identiques par leur contenu, c´est a dire les memes données) et mon programme par une boucle traite chacun et passe au suivant(la boucle en question va de 1 à 3 coe ca fait 3 fichiers).
A chaque fichier lu est crée un fichier xml correspondant (fichier1.xml. fichier2.xml, fixchier3.xml)...
Mon hic c´est que le premier fichier est correctement formé et rempli, mais le deuxieme et troisieme sont eux aussi bien formés mais remplis mais en double....
Donc au lieu d´avoir par exemple (je peux pas mettre l´original trop long) ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?xml version='1.0'?> <livre> <titre>Dreamcatcher</titre> <auteur> <nom>King</nom> <prenom>Stephen</prenom> </auteur> <annee_edition>2000</annee_edition> </livre>
j´ai plutot
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 <?xml version='1.0'?> <livre> <titre>Dreamcatcher</titre> <auteur> <nom>King</nom> <prenom>Stephen</prenom> </auteur> <annee_edition>2000</annee_edition> </livre> <?xml version='1.0'?> <livre> <titre>Dreamcatcher</titre> <auteur> <nom>King</nom> <prenom>Stephen</prenom> </auteur> <annee_edition>2000</annee_edition> </livre>
le code qui ecrit dans le xml c´est ceci:
pour ceux qui ont eu a toucher du XML dans Perl savent certainement le role de $xml_var, c´est lui qui contient l´ensemble du contenu XML crée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 open(FIC, ">fichier$i.xml") || die "error"; print FIC $xml_var; close (FIC);
my $xml_write=new XML::Writer(OUTPUT => \$xml_var, DATA_MODE =>1, DATA_INDENT =>2);
Merci de m´aider.
Partager