Bonjour à tous,
Je cherche à lire un fichier au format texte (qu'une autre application sur laquelle je n'ai pas la main me fournit). Le format est le suivant:
(en fait il y a bien évidemment nettement plus de champs et nettement plus de ligne mais bon, c'est un exemple)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Info0;Info1;Info2;Info3 0;14;1;574 0;26;1;657 0;31;1;37 1;0;1;46 1;2;1;670
Je pourrais aisément lire ce fichier si il était sous format XML ou simillaire. Par exemple:
grâce à une page du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <recording> <header>Info0;Info1;Info2;Info3</header> <record>0;14;1;574</record> <record>0;26;1;657</record> <record>0;31;1;37</record> <record>1;0;1;46</record> <record>1;2;1;670</record> </recording>
Cette page marche très bien mais ne me convient pas totalement (j'aimerais éviter une conversion de format entre mon fichier html et celui sortit par l'application d'origine.
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 <html> <head> <script type="text/javascript"> var xmlDoc; function loadxml() { xmlDoc=document.implementation.createDocument("","",null); xmlDoc.load("extract.xml"); xmlDoc.onload= readXML(); } function readXML() { var CurrentRecord; var RecordInfo; var AllRecords=xmlDoc.getElementsByTagName("record"); alert("Reading..."); for (var n = 0; n < AllRecords.length; n++) { CurrentRecord=AllRecords[n].textContent; RecordInfo=CurrentRecord.split(";"); document.write("Record n°" + n + " : " + RecordInfo[3] + "<br>"); } } </script> </head> <body onload="javascript:loadxml();"> </body> </html>
Aussi j'aimerais pouvoir faire la même chose mais directement à partir du fichier texte de départ.
En gros quelque chose du genre:
Quelqu'un aurait-il la solution à mon problème ?
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 <html> <head> <script type="text/javascript"> var txtDoc; function loadtxt() { txtDoc=document.implementation.createDocument("","",null); txtDoc.load("extract.txt"); txtDoc.onload= readtxt); } function readtxt() { var CurrentRecord; var RecordInfo; // C'est la ligne ci-dessous qui pose problème car je n'ai pas trouvé comment lire le contenu du fichier var AllRecords=txtDoc.CONTENU.split("\n"); alert("Reading..."); for (var n = 0; n < AllRecords.length; n++) { CurrentRecord=AllRecords[n].textContent; RecordInfo=CurrentRecord.split(";"); document.write("Record n°" + n + " : " + RecordInfo[3] + "<br>"); } } </script> </head> <body onload="javascript:loadtxt();"> </body> </html>
Je précise que pour diverse raisons, je ne souhaite pas utiliser du PHP, CGI ou des requêtes HTML vers un serveur, ne serait-ce parce qu'il n'y a pas de serveur => c'est un fichier HTML local qui lit un fichier texte local et il est impossible de mettre un serveurs HTTP pour ça.
Par ailleurs, ça doit tourner sur Firefox et uniquement sur Firefox (pas de compatibilités requise sur IE pour d'autres raisons).
Merci par avance
Cordialement
Florent
Partager